以下使用类型化帮助程序为模型字段生成输入元素:
Html.HiddenFor(m => m.FieldName)
生成的字段名称为FieldName
。如何在名称中添加前缀,使其呈现为name="prefix.FieldName"
?
答案 0 :(得分:17)
您可以使用
设置HtmlHelper的前缀htmlHelper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "foo";
因此,如果您在Html.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "Foo"
之前设置Html.HiddenFor(m => m.FormId)
,结果字段名称将变为'Foo.FormId'
我建议为HtmlHelper编写扩展方法,而不是在视图中处理这个逻辑。然后,您可能希望使用modeltype的名称作为前缀。
答案 1 :(得分:1)
你做不到。您可以使用编辑器模板。布拉德威尔逊有series of blog posts描述他们。 Scott Gu也在post中介绍了它们。