2017-03-02 3 views
0

以下は選択リスト項目のコレクションです: この選択項目をSelectListに変換してmvc dropdownlistに割り当てたいとします。SelectListItemをSelectListに変換し、mvcドロップダウンリストに割り当てる方法

List<SelectListItem>  Genderitems  = new List<SelectListItem>(); 
Genderitems.Add(new SelectListItem() { Text = "Female", Value = "Female" }); 
Genderitems.Add(new SelectListItem() { Text = "Male", Value = "Male" }); 
Genderitems.Add(new SelectListItem() { Text = "Other Gender", Value = "Other Gender" }); 
Genderitems.Add(new SelectListItem() { Text = "Unspecified or Unknown", Value = "Unspecified or Unknown" }); 
+1

'DropDownList()'と 'DropDownListFor()'メソッドは2番目のパラメータで 'IEnumerable 'を受け取ります。あなたが持っているものです。あなたは 'SelectList'に変換しないでください(**は** IEnumerable です)。 –

+0

[ASP.NET MVC DropDownListForモデルバインディング](http://stackoverflow.com/questions/16696706/asp-net-mvc-dropdownlistfor-model-binding/39552222#39552222)で私の答えを見ているかもしれません。 –

答えて

0

両方SelectListList<SelectListItem>インターフェイスIEnumerable<SelectListItem>を実装しています。などのドロップダウンルックスを作成するための拡張方法:あなたは両方の拡張メソッドがそうIEnumerable<SelectList>の代わりSelectListを受け入れている

public static MvcHtmlString DropDownList(this HtmlHelper htmlHelper, string name, IEnumerable<SelectListItem> selectList); 

public static MvcHtmlString DropDownListFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, IEnumerable<SelectListItem> selectList); 

を見ることができるように@StephenMueckeが述べたように、あなたはSelectListList<SelectListItem>を変換する必要がありません。

0

はあなたのビュー したくない場合には、この

List<SelectListItem>  Genderitems  = new List<SelectListItem>(); 
Genderitems.Add(new SelectListItem() { Text = "Female", Value = "Female" }); 
Genderitems.Add(new SelectListItem() { Text = "Male", Value = "Male" }); 
Genderitems.Add(new SelectListItem() { Text = "Other Gender", Value = "Other Gender" }); 
Genderitems.Add(new SelectListItem() { Text = "Unspecified or Unknown", Value = "Unspecified or Unknown" }); 
SelectList sl = new SelectList(Genderitems, "Value", "Text"); 
ViewBag.GenderList = sl; 

を探しているかもしれませstricly他のケースで

@Html.DropDownList("drpGender", ViewBag.GenderList as SelectList, "Select Gender", new { id = "drpGender"}) 

をモデル化するために選択をバインドするために、あなたのことができ

@Html.DropDownListFor(x=>x.Gender, ViewBag.GenderList as SelectList, " ", new { id = "drpGender"}) 
+0

私はその質問が「どのようにリストをSelectListに変換するか」についてではなく、「どうすればドロップダウンを作成できますか」と考えています –

+0

はい。私は@ user3720460からこれを尋ねるつもりでしたが、コメントはありません私はいつか直前に直面していた答えを考えました –

関連する問題