使用ASP.net MVC模板生成动态名称

时间:2011-04-21 09:01:29

标签: asp.net-mvc-3

让我说我有......

@Html.EditorFor(i => i.Date)

...我为DateTime类型的项目定义了一个模板。在我的模板中,我有......

<input type="text" name="???" />

鉴于模板只接收DateTime实例,如何让模板根据分配给模板的原始Model属性名称动态生成表单字段的名称?

否则,在回发后,模型绑定器将无法匹配模板中的值与分配给它的“日期”属性!

干杯,伊恩。

1 个答案:

答案 0 :(得分:1)

你可以反过来使用Html.TextBox而不是自己写出输入标签,它会为你处理它:

@Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, new {@class = "date"})

将名称留空,它将自动填充给您。如果你想自己明确地写出HTML标签,我想你可以用这个来得到这个名字:

<input type="text" name="@ViewData.ModelMetadata.DataTypeName" />