我编写了一个Enum扩展方法,允许我创建一个视图模型,并允许我轻松地将通用枚举绑定到SelctList,如:
this.ProductStatusList = new ProductStatusTypes().BindToSelectList<ProductStatusTypes>
(product.Status.ToString());
在我的视图中,我可以拥有:
<% using (Html.BeginForm()) {%>
<fieldset>
<legend>Fields</legend>
<%= Html.EditorForModel() %>
<%=Html.DropDownListFor(p => p.ProductStatusList, new
SelectList(Model.ProductStatusList, "Value", "Text",
Model.Status.ToString()))%>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
<% } %>
注意我使用的是EditorForModel,然后是一个单独的DropDownList。
我的问题是:有没有办法让EditorForModel足够聪明地拿起我想要使用SelectList而不是TextBox来获取状态?
非常感谢
泰德
答案 0 :(得分:1)
EditorForModel会关注属性上的UIHint属性。它将检查您是否有该UI提示的编辑器模板,并尝试将其用于您的表单。