ASP.NET MVC 八 DropDownList数据绑定

一、在MVC中基本上不再使用.net提供的控件,而使用HTML辅助方法。所以一些我们之前常用的数据绑定控件与现在的用法就大不相同,

 

下面就先介绍几种我们常会用到的数据绑定控件。

 

      1、下拉列表框 DropDownList

          首页看ACTION中如何实现调取要绑定的数据。以下是我做的一个实例,大家不定与我相同,只是表明如何绑定的方法。

    

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

 

       以上方法是通过LINQ查询出会员的类型数据,然后转化到SelectListItem类的实例中,以便绑定到DropDownList中。

 

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

 

以上代码是ACTION,调取的会员信息是用于绑定到页面会员列表,与DropDownList有关的主要是 ViewData["MemberKind"] = GetByPid(4);创建一个ViewData用于绑定下拉列表。

     数据已经调取了,接下来就要绑定到View的页面中。代码如下:

 

会员类型:
<%= Html.DropDownList("kindID", ViewData["MemberKind"] as IEnumerable)%>
 

 

 以上方法用到了FOREACH依次把行数据存入列表中,这无非是麻烦了些,但是这种方法可以随意的插入列表项。如item.Insert(0, new SelectListItem { Text = "-会员类型-", Value = "-1" });

如果只是绑定数据库的数据那么就可以这样:

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

 

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

上一篇: ASP.NET MVC 七 构造HTML页面 下一篇:上一篇: ASP.NET MVC 九

你可能感兴趣的:(Dotnet&C#)