私はかみそりのビューでこれをやろうとしている:パスNULL可能ブールは働いていない
@{ 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の場合、私は次のエラーを取得する:
The model item passed into the dictionary is of type 'System.Data.Entity.DynamicProxies.MyAwesomeModel_EB6A12E11ECADA2C6B22289ACDF73813854383896F2E78956FDFFE6225F0404F', but this dictionary requires a model item of type 'System.Nullable`1[System.Boolean]'.
モデル(MyAwesomeModel
)内のNULL可能なプロパティは、次のように定義されています
public bool? SomeNullableBoolean { get; set; }
任意のアイデア私はこれをさらに調査する必要がありますか?
ある場合、ブール値はnullにすることはできません。 – Pavvy
'null'の部分モデルにモデルを渡すと、デフォルトでモデルがメインビュー(あなたのケースでは' MyAwesomeModel')に渡されます –
代わりに新しい 'ViewDataDictionary'を渡すことができます([this overload ](https://msdn.microsoft.com/en-us/library/system.web.mvc.html.partialextensions.partial(v = 118).aspx#M:System.Web.Mvc.Html.PartialExtensions .Partial%28System.Web.Mvc.HtmlHelper、System.String、System.Web.Mvc.ViewDataDictionary%29)) –