ASP.Net MVC 2.0:EditorFor通过属性设置名称

只是想知道如何使用属性来模仿以下内容……

 x.SportProgramIdList, "FormMultiSelectDropDownList", "SportProgramIds")%> 

我知道我可以使用[UIHint(“FormMultiSelectDropDownList”)]来指定模板,但是我对如何设置名称存在问题……

干杯安东尼

我猜你必须创建自己的CustomAttribute UINameAttribute 。 您可以使用ModelMetadata来保存您的属性,然后我不确定获得它的最佳方法是什么,我猜您必须在没有参数的情况下覆盖HtmlHelper.EditorFor Extension并将您的属性传递给下一个。

我太懒了,累得想要更完整的答案。

看着 :

为什么你不需要ModelMetadata.Attributes

ASP.NET MVC 2模板,第2部分:ModelMetadata

使用objectAttributes参数

 <%= Html.EditorFor(x => x.SportProgramIdList, "FormMultiSelectDropDownList", new { id="SportProgramIds" }) %>> 

您可以使用它来设置任何html输入属性