ASP.NET MVC 2、DropDownListForおよびエディターテンプレート。選択された値は機能しません
質問
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 )%>
所属していません StackOverflow