问题
Just wondering how do I mimic the following using attributes...
<%= Html.EditorFor(x => x.SportProgramIdList, "FormMultiSelectDropDownList", "SportProgramIds")%>
I know I can specify the template by using [UIHint("FormMultiSelectDropDownList")] but I am left with the problem with how to set the name...
Cheers Anthony
回答1:
I Guess you'll have to create your own CustomAttribute UINameAttribute
.
You could use the ModelMetadata
to keep your attribute and then I'm not sure what would be the best way to get it, i guess you would have to overide the HtmlHelper.EditorFor
Extension without the parameter and pass your attribute to the next.
I'm too lazy and to tired to try for a more complete answer.
look at :
Why You Don't Need ModelMetadata.Attributes
ASP.NET MVC 2 Templates, Part 2: ModelMetadata
回答2:
Use the objectAttributes argument
<%= Html.EditorFor(x => x.SportProgramIdList, "FormMultiSelectDropDownList", new { id="SportProgramIds" }) %>>
you can use this to set any of the html input attributes
来源:https://stackoverflow.com/questions/2232840/asp-net-mvc-2-0-editorfor-setting-name-via-attributes