我正在尝试使用选定的值制作下拉列表,但它不起作用:/我在网上搜索但我找不到解决方案:/
目前,我正在这样做:
在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)
下拉列表已完成,但未选择默认值:/您有什么想法吗?
答案 0 :(得分:12)
我想要做的是添加要在我的模型的下拉列表中显示的项目列表,因此我不必通过viewbag传递该列表。 另外,我想在我的模型中添加一个包含SelectedValue的字段,我填写控制器
然后你可以做
@Html.DropDownListFor(model => model.ID_VEH, new SelectList(Model.listVEH, "ID_VEH", "COD_VEH", Model.SelectedVEH_ID), "--Select VEH--")
答案 1 :(得分:9)
只需将model.ID_VEH的初始值设置为4:
在控制器中:
model.ID_VEH = 4;
答案 2 :(得分: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中,我设置了所需的硬编码值:
public SGLDataRegistration.Models.DataRegistrationModel GetData(int year,int weekNumber,DateTime datum,int pitchID,int parameter) { 尝试 { DataRegistrationParameters drp = GetParameter(parameter);
//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;