2017-11-10 6 views
0

私はドロップダウンリストをレンダリングしています。私の見解ではASP.NET MVC選択リストの選択値

ViewBag.Categories = new SelectList(db.HelpCategories, "ID", "Name"); 

私はこのようにそれを呼び出す:私はこのような選択値を取得

Categories: @Html.DropDownList("Categories", (SelectList)ViewBag.Categories, "All") 

います。

<select id="Categories" name="Categories"> 
    <option value="">All</option> 
    <option value="1">Dėl Krepšelių</option> 
</select> 

本当に "すべて"の値を0に設定する必要があります。これを行う方法を理解できません。 SelectListItemで完了したチュートリアルが見つかりましたが、それは自分のコードに適合しません。 ご協力いただきありがとうございます。

+0

を構築するためにViewBag.CategoryListを使うのでしょうか?そして、あなたがそれを望むならば、 'Value =" 0 "'と 'Text =" All "'を持つものを含む 'IEnumerable 'を生成しなければなりません(そして 'DropDownList()'メソッド) –

答えて

1

あなたが絶対に望む場合は、特定のvaluetextの項目を明示的に追加できるアクションメソッドでSelectListItemリストを作成できます。

var categoryList = new List<SelectListItem> 
{ 
    new SelectListItem { Value="0", Text = "All"} 
}; 

categoryList.AddRange(db.HelpCategories 
         .Select(a => new SelectListItem { 
                  Value = a.Id.ToString(), 
                  Text = a.Name})); 
ViewBag.CategoryList = categoryList; 

return View(); 

は、今すぐあなたのビューでは、あなたが '0'に設定したいと思うのはなぜSELECT要素

@Html.DropDownList("Categories", ViewBag.CategoryList as IEnumerable<SelectListItem>) 
+0

ありがとう、これは完全に動作します。そんな単純なことは少し長いですが。しかしそれは私の質問に答えました。 – HighSepton

関連する問題