我正在使用MVC4,
在控制器方面我有2个List:
1> CarrierList : - 它包含运输数据列表。
2 - ; TransPortationModeList : - 它包含所选运输数据的ID&它来自数据库。
现在,在编辑模式下,我必须首先将dropdownlist与“CarrierList”记录绑定。 并且还选择此列表的属性,其中id(value)应来自“TransPortationModeList”。
我的观看代码是:
@foreach (var Data in Model.TransPortationModeList)
{
@Html.DropDownListFor(lm => lm.TransPortationModeList[Model.TransPortationModeList.IndexOf(Data)].TransModeId, Model.CarrierList.Select(c => new SelectListItem { Text = c.TransportationName + "-" + c.TransportationModelID, Value = c.TransportationModelID }), TransPortationModeList[Model.TransPortationModeList.IndexOf(Data)].TransModeId, new { @class = "form-control" })
}
此处: TransPortationModeList [Model.TransPortationModeList.IndexOf(Data)]。TransModeId 它为我提供了ID。
现在,通过此代码。我无法绑定选定记录的下拉列表。
请告诉我。我在这里缺少什么?感谢。
答案 0 :(得分:-1)
使用for
循环可以减少冗长,因为您可以避免使用IndexOf
:
@for(int index = 0; index < Model.TransPortationModeList.Count; index++)
{
@Html.DropDownListFor(lm => lm.TransPortationModeList[index].TransModeId,
Model.CarrierList.Select(c => new SelectListItem { Text = c.TransportationName + "-" + c.TransportationModelID, Value = c.TransportationModelID }),
new { @class = "form-control" })
}
第一个参数将包含所选值。