asp.net MVC中html.DropDownList反显

  在asp.net MVC中下拉列表可以说是最常用的一种控件.绑定方法,也很简单.可是我们在做修改或是查询的时候,会要求这个下拉列表框当前选中的值,是我刚才选择的或是数据库存的值,这怎么办呢.这就要用SelectList这个类了.这个类一共有四种方法.

  分别是以下这四种方法,我们一般比较常用的方法是,前二种,如果想要做到反显,哪么我们用到的就是第四种方法.

  

名称 说明
SelectList(IEnumerable) 使用列表的指定项来初始化 SelectList 类的新实例。
SelectList(IEnumerable, Object) 使用列表的指定项和选定的值来初始化 SelectList 类的新实例。
SelectList(IEnumerable, String, String) 使用列表的指定项、数据值字段和数据文本字段来初始化 SelectList 类的新实例。
SelectList(IEnumerable, String, String, Object) 使用列表的指定项、数据值字段、数据文本字段和选定的值来初始化 SelectList 类的新实例。

 好了,不多说,上代码.

 Controllers层

 

public ActionResult Index()
        {

            //这里我是的一个条件
            string Scode = "|1||3|";

            //根据选择的下列框值,来确定条件
            if (!string.IsNullOrEmpty(Request.Form["organsList"]))
            {
                Scode = Request.Form["organsList"].ToString();
            }


            //取出机构列表,将他做成下拉列表的形式,db是model层的类
            IEnumerable<Eorgans> organs = db.organsList();

            //SelectList第四个参数是用来设置被选中项的,在View页面中Html.DropDownList("organsList")下拉列表中的名字必须与ViewData相同,这样就可以了
            ViewData["organsList"] = new SelectList(organs, "sortcode", "or_name", Scode);



            //取出学校列表,默认是根节点
            IEnumerable<Eorgans_school> Eor_schoollist = db.organs_schoolList(Scode);

            return View(Eor_schoollist);
        }

View层

 

<body>
    <table>
        <tr>
          <td colspan="4">
          <form action="/School/Index" method="post">
             <%= Html.DropDownList("organsList")%>  
              <input id="Submit1" type="submit" value="查询" />
          </form>
          </td>
        </tr>
        <tr>
            <th></th>
            <th>
                机构表
            </th>
            <th>
                学校ID
            </th>
            <th>
                学校代码
            </th>
            <th>
                学校名称
            </th>
            
        </tr>

    <% foreach (var item in Model) { %>
    
        <tr>
            <td>
                <%= Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) %> |
                <%= Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ })%> |
                <%= Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })%>
            </td>
            <td>
                <%= Html.Encode(item.or_Name) %>
            </td>
            <td>
                <%= Html.Encode(item.number) %>
            </td>
            <td>
                <%= Html.Encode(item.schoolCode) %>
            </td>
            <td>
                <%= Html.Encode(item.schoolName) %>
            </td>
        </tr>
    
    <% } %>

    </table>

    <p>
        <%= Html.ActionLink("Create New", "Create") %>
    </p>

</body>


 

       


你可能感兴趣的:(mvc,String,object,delete,asp.net,action)