asp.NetMVC中html.DropDownList反転


asp.NetMVCのドロップダウンリストは最もよく使われるコントロールと言えます.バインド方法も簡単です.しかし、私たちは修正やクエリーをするときに、このドロップダウンリストボックスで現在選択されている値、私がさっき選択した値、あるいはデータ在庫の値を要求します.どうすればいいですか.これはSelectListという種類です.この種類には全部で4つの方法があります.
それぞれ以下の4つの方法で、私たちが一般的によく使う方法は、前の2つ、逆顕をしたいなら、私たちが使っているのは4つ目の方法です.
  
名前
説明
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>