2010-05-25 39 views
1

我有下面的aspnet mvc中的dropdownbox选择列表。因为“SelectList”需要3个参数一个用于值,一个用于文本,另一个用于选定的值,这里我是一个EditEmployee Action控制器,所以当显示编辑页面时,我想在下拉框中显示一个selectvalue,米没有得到什么,我应该通过第三个参数,因为它要求一个对象的选定值。在asp.net mvc中使用selectlist的dropdownbox的选定值

 

ViewData["DepartmentList"] = new SelectList(DepartmentRepository.GetDepartmentsBySchoolIdInList(ViewData["schoolId"].ToString()),"DepartmentId","DepartmentTitle"); 
 

这里是

 

=Html.DropDownList("DepartmentList") 
 
+0

见我DDL的教程认为http://www.asp.net/mvc/tutorials/javascript/working-with-the-dropdownlist-box-和-jquery/using-the-dropdownlist-helper-with-aspnet-mvc和http://blogs.msdn.com/b/rickandy/archive/2012/01/09/cascasding-dropdownlist-in-asp-net- mvc.aspx – RickAndMSFT 2012-02-14 19:25:07

回答

1
var deptList = DepartmentRepository.GetDepartmentsBySchoolIdInList(ViewData["schoolId"].ToString()); 

ViewData["DepartmentList"] = new SelectList(DepartmentRepository.GetDepartmentsBySchoolIdInList(deptList,"DepartmentId",deptList.First()); 
+0

这是给第一个项目作为选定的价值,但我希望选定的价值按员工分配给部门的价值。 – FosterZ 2010-05-25 14:39:10

+0

我举了一个例子,你问你通过什么。你传入你想要选择的对象。所以如果不是第一个,那很好。你可以做类似deptList.Where(x => x.Dept ==“IT”)。First() – taylonr 2010-05-25 15:01:17

+0

基本上第三个参数是你想要设置值的对象。所以如果你有一个员工,你可以为employee.Department设置第三个参数 – taylonr 2010-05-25 15:22:22