zoukankan      html  css  js  c++  java
  • 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保持一致性。

  • 相关阅读:
    hdu2328 Corporate Identity
    hdu1238 Substrings
    hdu4300 Clairewd’s message
    hdu3336 Count the string
    hdu2597 Simpsons’ Hidden Talents
    poj3080 Blue Jeans
    poj2752 Seek the Name, Seek the Fame
    poj2406 Power Strings
    hust1010 The Minimum Length
    hdu1358 Period
  • 原文地址:https://www.cnblogs.com/wangyihome/p/4533801.html
Copyright © 2011-2022 走看看