Lui*_*rao 4 .net asp.net-mvc razor
我正在尝试使用以下代码定义一个Boolean.cshtml以与EditorFor一起使用:
@{
var o = ViewData.ModelMetadata;
}
<div class="editor-for">
@Html.CheckBox(o.PropertyName,
ViewData.Model,
new { @class="tickbox-single-line" })
</div>
Run Code Online (Sandbox Code Playgroud)
不幸的是,Model为null,我得到以下非描述性错误:
CS1973:'System.Web.Mvc.HtmlHelper'没有名为'CheckBox'的适用方法,但似乎有一个名称的扩展方法.无法动态分派扩展方法.考虑转换动态参数或调用扩展方法而不使用扩展方法语法.
看完之后我尝试了以下内容:
@Html.CheckBox(o.PropertyName,
ViewData.Model ?? false,
new { @class="tickbox-single-line" })
Run Code Online (Sandbox Code Playgroud)
但我得到完全相同的错误.View代码很简单:
@Html.EditorFor(m => m.RememberMe)
Run Code Online (Sandbox Code Playgroud)
我在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>
Run Code Online (Sandbox Code Playgroud)
但如果我没错,EditorTemplate那就更像了
@model bool
<div class="editor-for">
@Html.CheckBox("", Model, new{@class="tickbox-single-line"})
<div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6905 次 |
| 最近记录: |