MVC 总计一
MVC总计一:主要内容,弱类型中显示可编辑的列表。
一:显示列表,如:@Html.TextBox("ID_"+i+"",@Model[i].ID),new{}),for遍历数据,并设置i为标识 。DropDownList,遍历数据源,如果数据源其中一条数据相等于@Model[i].字段,则设置Selected选中,否则不选中。
二:验证字段,如js Validate :$.validator.addMethod("class_"+i+"",function(),"error Message"),class是验证控件的class,必须是唯一的
View:
弱类型:
@model List<T>
for(int i=0,i<Model.Count,i++)
{
@Html.TextBox("Email_"+i+"",Model[i].Email, new{@class="email_"+i+"",@onchange="Change("+i+")"})
@foreach(var item in ViewBag.SexList )
{
if(item.Value==@Model[i].Sex)
{
item.Selected=true;
}else{
item.Selected=false;
}
}
@Html.DropDownList("Sex_"+i+"",ViewBag.SexList as IEnumable<SelectListItem>,new {@style="width:80%"})
}
<script>
//验证email_i
function Change(i){
$.validator.addMethod("email_"+i+"",function(value,element){
var result=true;
return this.optional(elenment) || /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
});
}
</script>
Controller:
public ActionResult Index()
{
List<T> t=new List<T>;
List<SelectListItem> SexList = new List<SelectListItem> ();//读取数据
PostList.Insert(0, new SelectListItem { Text = "请选择", Value = "" });
ViewBag.SexList = SexList ;
return View(t);
}