2016-05-03 8 views
2

ドロップダウンリストに値を割り当てています。私のビューのドロップダウンリストに別のエントリ( - 選択 - )を動的に追加する必要があります

@Html.DropDownList("Sites", new SelectList(Model.SiteList.Select(x => new { Value = x.SiteId, Text = x.SiteName }), "Value", "Text")) 

私は'--Select--'

+0

をあなたは意味 ' optionLabel'?オプションラベル文字列を3番目のパラメータとして渡すことができます。 –

+0

あなたは 'new SelectList(Model.SiteList、" SiteId "、" SiteName ")のコードを単純化することができます - 最初は匿名を作成するのはちょっと無意味です –

+0

MikeとStephenに感謝します。私は解決策を得た。私は以下のコードを使用しています。 –

答えて

1
@{ 
    var values = Model.SiteList.Select(x => new SelectListItem() { Value = x.SiteId, Text = x.SiteName }).ToList(); 
    values.Add(new SelectListItem() { Text = "--Select--" }); 
} 

@Html.DropDownList("Sites", new SelectList(values, "Value", "Text")) 
+1

最初のものから2番目の同じ 'IEnumerable 'を作成してから、 'Html.DropDownList(" Sites "、" SelectItem "、" SiteId "、" SiteName "新しいSelectList() 'は少し意味がありません。 –

+1

アルノーさんありがとうございます。 –

+0

あなたは大歓迎です! –

2

と呼ばれる別のリスト項目を追加することができますどのようにあなたは、単に最後のパラメータとして追加することができます。

@Html.DropDownList("Sites", 
     new SelectList(Model.SiteList.Select(x => 
      new { Value = x.SiteId, Text = x.SiteName }), "Value", "Text"), "--Select--"); 

Working Fiddle

+0

ありがとうございました。以下のコードはとても簡単です。 @ Html.DropDownList( "Sites"、新しいSelectList(Model.SiteList、 "SiteId"、 "SiteName")、 " - Select--") –

+0

@Sachinjeev Prosはありません。残りは幸運です。 :) – hutchonoid

関連する問題