2

ビューモデルを作成し、ジェネリック Enum を SelctList に簡単にバインドできるようにする Enum 拡張メソッドを作成しました。

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 を十分に賢くして、ステータスに TextBox の代わりに SelectList を使用したいことを理解する方法はありますか?

どうもありがとう

テッド

4

1 に答える 1

1

EditorForModel は、プロパティの UIHint 属性に注意を払います。その UI ヒントのエディター テンプレートがあるかどうかを確認し、それをフォームに使用しようとします。

于 2011-01-09T00:14:16.360 に答える