質問

2つのビューがあります。 Productform.aspxおよびcategory.ascx。カテゴリフォームは部分的なビューです。 editorfor(model => model.category)をwith categformからcategory.ascxを呼び出します。この部分的な見解では、すべてのカテゴリを備えたドロップダウンリストがあります。問題は、特定の製品カテゴリの選択された値です。選択された値は機能しません。

なんで ?


これが私の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>
役に立ちましたか?

解決

DDLの名前属性を、製品テーブルで呼び出されるカテゴリ/外部キーに割り当てることができます。デフォルトのバインディングの仕組みにより、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 )%>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top