0

我目前在创建下拉列表时遇到问题。在我的视图中,我需要有一个标签和一个下拉列表,其中来自 tableA 的标签和来自 tableB 的下拉列表。下拉列表的值将基于 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 很陌生。

4

2 回答 2

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)
于 2013-08-27T10:17:40.223 回答
0

尝试:

@Html.DropDownListFor(modelItem => x.ListOfValue, new SelectList(item.UserConfigDtls, "Id", "Name"), "Select")
于 2013-08-27T09:13:39.430 回答