ASP.NET MVC 八 DropDownList資料繫結

來源:互聯網
上載者:User

一、在MVC中基本上不再使用.net提供的控制項,而使用HTML輔助方法。所以一些我們之前常用的資料繫結控制項與現在的用法就大不相同,

 

下面就先介紹幾種我們常會用到的資料繫結控制項。

 

      1、下拉式清單方塊 DropDownList

          首頁看ACTION中如何?調取要繫結資料。以下是我做的一個執行個體,大家不定與我相同,只是表明如何綁定的方法。

    

          public List<SelectListItem> GetByPid(int pid)<br /> {<br /> UsersModelsDataContext umdc = new UsersModelsDataContext();<br /> var quert = from v in umdc.CMS_KindT where v.pid == pid select v;<br /> List<SelectListItem> item = new List<SelectListItem>();<br /> foreach (var it in quert)<br /> {<br /> item.Add(new SelectListItem { Text=it.name,Value=it.id.ToString()});<br /> }<br /> item.Insert(0, new SelectListItem { Text = "-會員類型-", Value = "-1" });<br /> return item;<br /> }

 

       以上方法是通過LINQ查詢出會員的類型資料,然後轉化到SelectListItem類的執行個體中,以便綁定到DropDownList中。

 

public ActionResult MemberEdit(int id)<br /> {<br /> UsersModelsDataContext umdc = new UsersModelsDataContext();<br /> var query = from v in umdc.CMS_MemberT where v.id == id select v;<br /> CMS_MemberT mt = query.First();<br /> ViewData["MemberKind"] = GetByPid(4);<br /> return View(mt);<br /> }  

 

以上代碼是ACTION,調取的會員資訊是用於綁定到頁面會員列表,與DropDownList有關的主要是 ViewData["MemberKind"] = GetByPid(4);建立一個ViewData用於綁定下拉式清單。

     資料已經調取了,接下來就要綁定到View的頁面中。代碼如下:

 

<div class="editor-label"><br /> 會員類型:<br /> </div><br /> <div class="editor-field"><br /> <%= Html.DropDownList("kindID", ViewData["MemberKind"] as IEnumerable<SelectListItem>)%><br /> </div> 

 

 以上方法用到了FOREACH依次把行資料存入列表中,這無非是麻煩了些,但是這種方法可以隨意的插入清單項目。如item.Insert(0, new SelectListItem { Text = "-會員類型-", Value = "-1" });

如果只是綁定資料庫的資料那麼就可以這樣:

    public SelectList GetByPid(int pid,string kindid)<br /> {<br /> UsersModelsDataContext umdc = new UsersModelsDataContext();<br /> var quert = from v in umdc.CMS_KindT where v.pid == pid select v;</p><p> var selectlist = new SelectList(quert,"id","name",kindid.ToString());//資料集,VALUE,NAME,SELECTEDItem<br /> return selectlist;<br /> }

 

view頁面中:<%=Html.DropDownList("list")%>

上一篇: ASP.NET MVC 七 構造HTML頁面 下一篇:上一篇: ASP.NET MVC 九

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.