MVC視圖中Html.DropDownList()輔助方法的使用


我們先在控制器中准備好一個SelectList類型,然后通過ViewBag.List傳入視圖中。SelectList類型是ASP.NET MVC專門為列表有關的HTML輔助方法提供選項的,例如,Html.DropDownList()、Html.ListBox()都可以使用。

1 public ActionResult HelperDropDownList()
2         {
3             List<SelectListItem> listItem = new List<SelectListItem>{
4                 new SelectListItem{Text="",Value="1"},
5                 new SelectListItem{Text="",Value="0"}
6             };
7             ViewBag.List = new SelectList(listItem,"Value","Text","");
8             return View();
9         }

然后在視圖中就可以創建下拉列表了。

@Html.DropDownList("List", ViewBag.List as SelectList, "請選擇")

渲染的HTML是這樣的:

1 <select name="List" id="List">
2 <option value="">請選擇</option>
3 <option value="1"></option>
4 <option value="0"></option>
5 </select>

還有,若是后台數據使用ViewData傳到視圖時,可以這樣寫:

 1 //后台用ViewData傳值到頁面,或者用ViewBag
 2 public ActionResult HelperDropDownList()
 3         {
 4             List<SelectListItem> listItem = new List<SelectListItem>{
 5                 new SelectListItem{Text="是",Value="1"},
 6                 new SelectListItem{Text="否",Value="0",Selected=true}
 7             };
 8             //ViewBag.List = new SelectList(listItem, "Value", "Text", "");
 9             ViewData["List"] = new SelectList(listItem, "Value", "Text", ""); 
10             return View();
11         }
1 @using (Html.BeginForm("DropDownValue","Home"))
2 {
//只需將第一個參數寫成對應的ViewData索引即可,或者對應的ViewBag索引
3 @Html.DropDownList("List","請選擇") 4 <div> 5 <input type="submit" value="提交" /> 6 </div> 7 }

 

 --------------------------------------------------------------------------------------------------------------

那么,在視圖頁面的下拉列表被選擇的值怎么傳到Controlloer的方法進行處理呢?可以這樣:

1 @using (Html.BeginForm("DropDownValue","Home"))
2 {
3     @Html.DropDownList("List", ViewBag.List as SelectList, "請選擇")
4     <div>
5         <input type="submit" value="提交" />
6     </div>
7 
8 }

將下拉列表置於表單當中,當表單提交時,被選中的值就被提交到控制器方法。

1 public ActionResult DropDownValue(string List)
2 {
3       ViewBag.Result = List;
4       return View();
5 }

注意接受值的方法的參數名稱與html標簽的id保持一致性。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM