【发布时间】:2017-06-28 11:10:22
【问题描述】:
我正试图在我的剃刀视图中做到这一点:
@{ Html.RenderPartial("_Checkbox", Model.SomeNullableBoolean); }
_Checkbox.cshtml:
@model bool?
@if (Model == null)
{
Some code
}
else if (Model == true)
{
Some other code
}
只要将Model.SomeNullableBoolean 设置为true 或false,它就可以正常工作。
但如果值为 null,我会收到以下错误:
传入字典的模型项是类型 'System.Data.Entity.DynamicProxies.MyAwesomeModel_EB6A12E11ECADA2C6B22289ACDF73813854383896F2E78956FDFFE6225F0404F', 但是这本词典需要一个类型的模型项 'System.Nullable`1[System.Boolean]'。
模型内的可空属性(MyAwesomeModel)定义如下:
public bool? SomeNullableBoolean { get; set; }
任何想法我应该如何进一步调查?
【问题讨论】:
-
据我所知,布尔值不能为空。
-
当您将模型传递给
null的部分时,默认情况下它会在主视图中传递模型(在您的情况下为MyAwesomeModel -
您或许可以传递一个新的
ViewDataDictionary(使用this overload) -
@StephenMuecke 谢谢!那行得通:)
标签: c# asp.net-mvc razor partial-views