2013-07-23 64 views
10

我试图与一个选定值dropdownlistfor,但它不工作:/我在网上搜索上,但我没有找到解决办法:/在dropdownlistfor MVC选择默认值4

就目前而言,我这样做:

在C#:

ViewBag.ID_VEH = new SelectList(db.VEHI, "ID_VEH", "COD_VEH", 4); // 4 is an example 

在我CSHTML:

@Html.DropDownListFor(model => model.ID_VEH, ViewBag.ID_VEH as SelectList) 

的dropdownlist是完整的,但没有选择默认值:/你有想法吗?

回答

8

刚刚成立model.ID_VEH的4初始值:

在控制器:

model.ID_VEH = 4; 
+0

这绝对是最好的方法,可能是最简单的 – mgrenier

12

我喜欢做的就是添加的物品清单在下拉列表中显示我的模型,所以我不必通过一个viewbag传递这个列表。 此外,我喜欢一个字段添加到我的模型包含的SelectedValue,我填写控制器

然后,你可以做

@Html.DropDownListFor(model => model.ID_VEH, new SelectList(Model.listVEH, "ID_VEH", "COD_VEH", Model.SelectedVEH_ID), "--Select VEH--") 
1

万一有人找到了答案,类似的问题:

我想有鉴于与下拉框都集中在控制器我给(硬编码)的项目:

控制器:

SGLDataRegistration.Models.DataRegistrationModel mdl = rwd.GetData(DateTime.Now.Year, currentWeek, DateTime.Now, 139, 1); 

查看:

    <div id="tempCustomerselect"> 
         @Html.LabelFor(m => m.CustomerName) 
         @Html.DropDownListFor(m => m.PitchID, new SelectList((new SGLDataRegistration.Models.CustomerModel().GetRoles()).OrderBy(x => x.CustomerName), "PitchID", "CustomerName"), new {id = "ddlCustomer", @class="jsddlCustomer"}) 

        </div> 

在此的GetData,我setthe期望值硬编码:

公共SGLDataRegistration.Models.DataRegistrationModel的GetData(INT年,INT weekNumber,日期时间数据,诠释pitchID,INT参数) { 尝试 { DataRegistrationParameters DRP =的getParameter(参数);

 //vul een instantie van het dataregistrationmodel 
     SGLDataRegistration.Models.DataRegistrationModel drm = new Models.DataRegistrationModel(); 
     drm.WeekNumber = weekNumber; 
     drm.BeginDay = datum; 
     drm.Parameter = parameter; 
     drm.Year = year; 
     drm.PitchID = pitchID;