我正在尝试使用以下代码定义一个 Boolean.cshtml 以与 EditorFor 一起使用:
@{
var o = ViewData.ModelMetadata;
}
<div class="editor-for">
@Html.CheckBox(o.PropertyName,
ViewData.Model,
new { @class="tickbox-single-line" })
</div>
不幸的是,模型为空,我收到以下非描述性错误:
阅读本文后,我尝试了以下操作:
@Html.CheckBox(o.PropertyName,
ViewData.Model ?? false,
new { @class="tickbox-single-line" })
但我得到完全相同的错误。 View 代码很简单:
@Html.EditorFor(m => m.RememberMe)
我在 Boolean.cshtml 中做错了什么?
最佳答案
不确定这是最好的方法,但我认为你只是对 ViewData.Model
有问题,这是(如果我没记错的话),动态问题。
所以……投吧!
@{
var o = ViewData.ModelMetadata;
bool model = (bool)ViewData.Model;
}
<div class="editor-for">
@Html.CheckBox(o.PropertyName,
model,
new { @class="tickbox-single-line" })
</div>
但如果我没记错的话,
EditorTemplate
应该看起来像@model bool
<div class="editor-for">
@Html.CheckBox("", Model, new{@class="tickbox-single-line"})
<div>
关于.net - 如何为 bool 值创建编辑器模板? (.EditorFor<>),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12976784/