如何在asp.net mvc 2中使html.editor不可见?

时间:2011-07-08 06:43:56

标签: c# asp.net-mvc-2

我想让我的编辑器隐身吗?我得到了这个,但它没有用?

<%=Html.EditorFor(i => i.MyField),new { @visible = "false" })%>

1 个答案:

答案 0 :(得分:2)

EditorFor方法的第二个参数不是HtmlAttributes,而是additionalViewData。如果要使用additionalViewData来设置可见性或其他相关内容,则必须编写自己的EditorTemplate。查看this post,了解如何创建自定义编辑器模板 编辑:假设Property MyField的类型为字符串,并且您希望使用文本框显示它,则必须在共享或任何其他视图文件夹中的EditorTemplates文件夹中创建部分视图。在此视图中,您可以编写类似

的内容
<%:Html.TextBox(string.Empty, Model, new{style = ViewData["style"]})%>

并且在EditorFor方法中,您可以提供像

这样的additionalViewData
<%:Html.EditorFor(x=>x.MyField, new{style = "display:none;"})%>