首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于mvc3 dropdownlistfor的有关问题

2013-09-18 
关于mvc3 dropdownlistfor的问题。弱弱的问问,如果controller传递一个model给view。在传递的view当中包含一

关于mvc3 dropdownlistfor的问题。
弱弱的问问,如果controller传递一个model给view。在传递的view当中包含一个List<selectListItem>
比如


User.No=1;
User.Name="admin";
User.Address="来自csdn论坛";
User.Grades=new List<SelectListItem>{
     new SelectListItem{Text="1年级",Value=1},
     new SelectListItem{Text="2年级",Value=2,Selected=true},   //这里表示当前学生是2年级
     new SelectListItem{Text="1年级",Value=1},
};

那么 如果传递这个对象到view 构建形成edit效果,那么在edit视图当中,除了若干个文本框有
当前需要修改的用户的默认值,需要构建一个下拉列表框,select,代码如下:

@Html.DropDownListFor(m=>m.Grades,Model.Grades)   

求问,为什么 我的页面,显示出来以后 下拉列表里边有3个年级 ,但是默认选中的是1年级,而不是我想要的2年级,是我的问题,还是默认选中不能这么设置。如果是我的问题,问题在那里,如果不能这么设置,有应该如何设置。  


这里传递对象必须使用强类型   和  dropdownlistfor mvc3
[解决办法]
测试如下,是选中二年级
ViewBag.list = new List<SelectListItem>
            {
                new SelectListItem{Text="1年级",Value="1"},
                new SelectListItem{Text="2年级",Value="2",Selected=true},   //这里表示当前学生是2年级
                new SelectListItem{Text="1年级",Value="1"},
            };
            string[] s = new string[1] { "sss" };
            return View(s);

@model string[]

@Html.DropDownListFor(a=>a[0],ViewBag.list as List<SelectListItem>)

[解决办法]
@Html.DropDownListFor(m=>m.Grades,Model.Grades)   



public static static Utility
{
public static BindGrades(int? selected)
{
     var list = new List<SelectListItem>{
     new SelectListItem{Text="1年级",Value=1},
     new SelectListItem{Text="2年级",Value=2},   //这里表示当前学生是2年级
     new SelectListItem{Text="1年级",Value=1},
     
     if(selected)
{
 var item=list.FirstOrDefault(x=>x.Value==selected);
item.Selected=true;
}
return list;
}
}

@Html.DropDownListFor(m=>m.Grades,Utility.BindGrades(m.Grades))  
希望你能看出我的思路~关于mvc3 dropdownlistfor的有关问题
[解决办法]
public static List<SelectListItem> BindGrades(int? selected)

热点排行