1

私は2つのビューを持っています。ProductForm.aspxおよびCategory.ascx。CategoryFormは部分ビューです。EditorFor(model => model.Category)を使用してProductFormからCategory.ascxを呼び出します。この部分的なビューには、すべてのカテゴリを含むDropdownlistForがあります。問題は、特定の製品カテゴリの選択された値です。選択した値は機能しません。

なんで ?


これが私のProductFormにあるものです

<div class="editor">      
    <div class="editor-label">
        <%: Html.LabelFor(model => model.ProductInfo.ProductName) %>
    </div>

    <div class="editor-field">
        <%: Html.TextBoxFor(model => model.ProductInfo.ProductName)%>
        <%: Html.ValidationMessageFor(model => model.ProductInfo.ProductName)%>
    </div>
</div>
<%: Html.EditorFor(model => model.ProductInfo.Category, new { CategoryList = Model.CategoryList })%>


Category.ascxで

<div class="editor-field">
   <%:Html.DropDownListFor(model => model.CategoryID, (IEnumerable<SelectListItem>)ViewData["CategoryList"])%>
</div>
4

1 に答える 1

3

DDLのname属性は、Productsテーブルで呼び出されるCategoryID/外部キーに割り当てることができます。次に、デフォルトのバインディングがどのように機能するかにより、DDLはそのカテゴリを自動的に選択します。

一例:

<%: Html.DropDownList("Book.GenreID" , Model.GenresSelectList )%>

そして結果のhtml:

<select id="Book_GenreID" name="Book.GenreID">
<option value="2">Horror</option>
<option selected="selected" value="3">Literature</option>
<option value="1">Science Fiction</option>
</select>

また:

<%: Html.DropDownListFor(model => model.Book.GenreID, Model.GenresSelectList )%>
于 2010-09-24T18:01:24.487 に答える