我的工作目标是在符合条件1的情况下禁用网页上的文本框。
所以我创建了一个名为DoubleTemplate的视图模板
@model double
@if (ViewData["IsVisible"] != null)
{
var IsVisible = (bool)ViewData["Switcher"];
if (IsVisible)
{
@Html.TextBox(string.Empty,Model)
}
}
回到我的网页,这是我调用此模板的代码
@Html.EditorFor(m => m.Year1Data, "DoubleTemplate", new {Switcher = m.CurrentProgramYear == 1})
第二个m下的错误说:
当前上下文中不存在名称“m”
所以我的问题是如何将我的模型属性分配给EditorFor中的additionalViewData
顺便说一下,这是MSDN上EnditorFor的语法
public static MvcHtmlString EditorFor<TModel, TValue>(
this HtmlHelper<TModel> html,
Expression<Func<TModel, TValue>> expression,
string templateName,
Object additionalViewData
)
答案 0 :(得分:1)
假设CurrentProgramYear
是您模型中的属性,请更改
.... new {Switcher = m.CurrentProgramYear ...
到
.... new {Switcher = Model.CurrentProgramYear ...