ASP.NET MVC 下拉式選單的用法

筆記ASP.net MVC 下拉式選單的用法,免得一陣子沒用就忘了…

ASP.net MVC中 View提供了HTML Helpers來幫我們自動產生部分HTML程式碼

其中 @Html.DropDownList 可以幫我們生成下拉式選單

先在Controller中用ViewBag準備要傳給下拉式選單的資料,指定名稱為銀行選單

var BankList = from b in db.Bank select b; //要做成下拉式選單的資料表
//新一個SelectList物件(資料表, 指定資料表中Value的欄位 ,  指定資料表中顯示文字的欄位)
ViewBag.銀行選單 = new SelectList(BankList , "銀行代碼", "銀行名稱");

//如果資料表中有預先勾選的資料,就在後面加入預先選擇的value銀行代碼
ViewBag.銀行選單 = new SelectList(BankList , "銀行代碼", "銀行名稱", 預先選擇的value銀行代碼);

在view中給DropDownList的第一個name欄位命名同為銀行選單,就會自動帶入ViewBag.銀行選單的資料了

@Html.DropDownList("銀行選單", null, htmlAttributes: new { @class = "form-control", id = "銀行" })

如果你的DropDownList要的SelectList資料不是Controller給的而是在View中,就填入第二個欄位,但我們是從Controller拿所以填null
要自訂下拉式選單的class或id等屬性則寫在htmlAttributes: new { }大括號裡面,比較特別的是class是C#保留字,所以要在前面標上@,避免判斷失敗

如果你的DropDownList要顯示- – -請選擇一個項目- – -,就這樣做

@Html.DropDownList("銀行選單", null, "-----請選擇一個項目-----",htmlAttributes: new { @class = "form-control", id = "銀行" })
Facebook留言板