我想将嵌套列表(List<OptionValueList>
)传递给View;然后在@ Html.DropdownListFor内部呈现每个对应的List<OptionValue>
。
班级:
public class OptionValue
{
public int OptionID { get; set; }
public int ValueID { get; set; }
public string ValueName { get; set; }
}
public class OptionValueListList : List<OptionValueList> { }
public class OptionValueList : List<OptionValue> { }
我从db填充了类OptionValueListList
,但是为了将数据绑定到@HtmlDropdownListFor,我无法在SelectListItem
中进行修改。
以下是我的视图:
@model Program.Models.OptionValueListList
@foreach (var item in Model) /*List<OptionValueList>*/
{
foreach (var y in item) /*List<OptionValue>*/
{
@Html.DropDownListFor(m=>y.ValueID, new SelectList(@ViewBag.x, "Value", "Text"), "Option Values")
}
}
下面是我尝试传递数据并且无法正确绑定的地方,因为它会渲染18次相同的dropdownlist:
OptionValueListList o = new OptionValueListList();
o = pr.GetOptionsForProduct(id);
foreach (var item in o)
{
foreach (var i in item)
{
List<SelectListItem> li = new List<SelectListItem>();
li = (from c in item
select new SelectListItem
{
Text = c.ValueName,
Value = c.ValueID.ToString()
}).ToList();
ViewBag.x = li;
}
}
ViewBag.x = li;
中的问题应放在哪里?谢谢。