我目前在创建下拉列表时遇到问题。在我的视图中,我需要一个标签和一个下拉列表,其中tableA中的标签和tableB中的下拉列表。 dropdownlist的值将基于tableA的值。请看下面的代码
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@foreach (var x in item.UserConfigDtls)
{
@Html.DisplayFor(modelItem => x.ListOfValue)<br/>
}
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.UserConfigHdrID }) |
@Html.ActionLink("Details", "Details", new { id=item.UserConfigHdrID }) |
@Html.ActionLink("Delete", "Delete", new { id=item.UserConfigHdrID })
</td>
</tr>
}
从上面的代码中,我可以成功显示一个带有相应值列表的名称。现在我的问题是我希望单个值集成为下拉列表而不是显示它们。我可以知道如何做到这一点,因为我对MVC ASP.NET很陌生。
答案 0 :(得分:0)
尝试:
@Html.DropDownListFor(modelItem => x.ListOfValue, new SelectList(item.UserConfigDtls, "Id", "Name"), "Select")
答案 1 :(得分:0)
在控制器中将选择列表绑定到您的模型:
public ActionResult Index()
{
YourType model = new YourType ();
model.List = GetSelectList();
return View(model);
}
[NonAction]
public IEnumerable<SelectListItem> GetSelectList()
{
var items = //Your List Object
return items.Select(name => new SelectListItem() {
Text = name.prop,
Value = name.prop2
});
}
然后在视图中您可以将列表绑定为:
@Html.DropDownListFor(m => Model.typeToStoreValue,Model.List)