代码之家  ›  专栏  ›  技术社区  ›  Gopher

使用类型化HTML助手时的模型前缀

  •  10
  • Gopher  · 技术社区  · 16 年前

    下面使用类型化的助手为模型字段生成输入元素:

    Html.HiddenFor(m => m.FieldName)
    

    FieldName . 如何为名称添加前缀,使其呈现为 name=" prefix .FieldName" ?

    2 回复  |  直到 13 年前
        1
  •  17
  •   runesoerensen    15 年前

    您可以使用

    htmlHelper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "foo";
    

    所以如果你 Html.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "Foo" Html.HiddenFor(m => m.FormId) 结果字段名将变为“Foo.FormId”

    我建议为HtmlHelper编写一个扩展方法,而不是在视图中处理这个逻辑。然后,您可能希望使用modeltype的名称作为前缀。

        2
  •  1
  •   Darin Dimitrov    16 年前

    你不能。您可以使用编辑器模板代替。布拉德·威尔逊有一个 series of blog posts 描述他们。Scott Gu也在这篇文章中介绍了他们 post .