作成、編集、削除用に作成されたビューがあります。エディター テンプレートを使用して、ビューにドロップダウンを表示し、テンプレートからの選択肢を表示しています。
私の見解(作成と編集の両方):
<%: Html.EditorFor(model => model.Name) %>
//This is dropdown getting list from template.
問題: 名前フィールドが編集ビューに表示されません。
テンプレート ファイル (NameDropDown.ascx) は次のようになります。
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl"%>
<%= Html.DropDownList(
"",
new SelectList(
new SelectListItem[]
{
new SelectListItem { Value = "", Text = "" , Selected = true},
new SelectListItem { Value = "Mark", Text = "Mark" },
new SelectListItem { Value = "Jim", Text = "Jim" },
new SelectListItem { Value = "Jason", Text = "Jason" }
},
"Value",
"Text",
Model
)
) %>
私が持っているモデルクラスでは..
[UIHint("NameDropDown")]
public string Name { get; set; }
ビューの作成 - 名前のドロップダウンが適切にレンダリングされ、値を選択して DB に保存できます。リスト ビューに戻って [編集] をクリックすると、編集ビューにデータベースの名前の値が表示されません。(DB はテーブルに名前の値を持っています)。