• Html.DropDownList传值


    Html.DropDownList传值:
      可以传入明确的IEnumerable<SelectListItem>,也可以通过ViewBag或者ViewData隐式地传入,前提是需要相同的名称,比如:ViewBag.GenreId或者ViewData["GenreId"]。
    示例:

    public ActionResult Index()
    {
        var SelectItems = new List<dynamic>(){
            new { id = 1, name="刘新"},
            new { id = 2, name="小明"},
            new { id = 3, name="蛋蛋"}
        };
        //SelectList : 使用SelectList辅助类构建
        ViewBag.SelectItem = new SelectList(SelectItems, "id", "name", 2);
        
        //使用SelectListItem对象集合
        var SexItems = new List<SelectListItem>{
            new SelectListItem{ Text="", Value="1", Selected=true},
            new SelectListItem{ Text="", Value="0"}
        };
        return View(SexItems);
    }

    视图:

    @model IEnumerable<System.Web.Mvc.SelectListItem>
    //使用ViewBag或者ViewDate隐式传入,通过@Html.DropDownList指定的name匹配ViewBag或者ViewDate的属性值(不指定第二个参数默认是根据指定的name去ViewBag或者ViewData查找同名的属性)
    @Html.Label("person_id", "人员"): @Html.DropDownList("SelectItem", null, new { id = "person_id" })<br/>
    //也可以将ViewBag.SelectItem转换成IEnumerable<SelectListItem>
    @Html.Label("person_id", "人员"): @Html.DropDownList("SelectItem", ViewBag.SelectItem as IEnumerable<SelectListItem>, new { id = "person_id" })<br/>
    //使用强类型视图对象填充select, 需要声明Model的类型
    @Html.Label("sex", "性别"): @Html.DropDownList("sex", Model, new { id = "sex" })

    注意:
    1. @Html.Label的第一个参数表示for特性的值, 第二个参数表示lable文本
    2. SelectList是IEnumerable<SelectListItem>的进一步封装而已。可以根据不同的场景选择使用哪一种
    3. 将SelectList转换成IEnumerable<SelectListItem>会丢失默认选择的项
    执行结果:

    生成的代码:

    <label for="person_id">人员</label>: 
        <select id="person_id" name="SelectItem">
            <option value="1">刘新</option>
            <option selected="selected" value="2">小明</option>
            <option value="3">蛋蛋</option>
        </select>
    <br/>
    <label for="person_id">人员</label>: 
        <select id="person_id" name="SelectItem">
            <option value="1">刘新</option>
            <option value="2">小明</option>
            <option value="3">蛋蛋</option>
        </select>
    <br />
    <label for="sex">性别</label>: 
        <select id="sex" name="sex">
            <option selected="selected" value="1"></option>
            <option value="0"></option>
    </select>




  • 相关阅读:
    改造二叉树
    汽车加油行驶问题
    [SHOI2012]回家的路
    子串
    P3558 [POI2013]BAJ-Bytecomputer
    HDU
    UVALive
    ZOJ
    HDU
    牛客小白月赛2 题解
  • 原文地址:https://www.cnblogs.com/enfp/p/7718345.html
Copyright © 2020-2023  润新知