您的位置:首页 > 编程语言 > ASP

ASP.NET MVC 八 DropDownList数据绑定

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

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

1、下拉列表框 DropDownList

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

public List<SelectListItem> GetByPid(int pid)
{
UsersModelsDataContext umdc = new UsersModelsDataContext();
var quert = from v in umdc.CMS_KindT where v.pid == pid select v;
List<SelectListItem> item = new List<SelectListItem>();
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的页面中。代码如下:

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


以上方法用到了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 九
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: