2

我已经编写了一个 Enum 扩展方法,它允许我创建一个视图模型并允许我轻松地将一个通用 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 作为状态?

非常感谢

泰德

4

1 回答 1

1

EditorForModel 会注意您的属性上的 UIHint 属性。它将检查您是否有该 UI 提示的编辑器模板,并尝试将其用于您的表单。

于 2011-01-09T00:14:16.360 回答