从控制器传递列表以查看MVC

时间:2014-02-20 11:15:23

标签: asp.net-mvc list html-helper

我正在创建一个MVC Web应用程序。

目前我在控制器中有这个:

                                    People =
                                        new SelectList(
                                        this.peopleManager
                                        .GetPeople(), 
                                        "Id", 
                                        "Name"), 

这在视图中:

<div class="form-group">
    @Html.LabelFor(model => model.SearchCriteria.PeopleIds, "Person", new { @class = "col-md-12" })
    <div class="col-md-12">
        @Html.ListBoxFor(model => model.SearchCriteria.PeopleIds, this.Model.PeopleViewModel.People, new { @class = "form-control cascade-people" })
        @Html.ValidationMessageFor(model => model.SearchCriteria.PeopleIds, null, new { @class = "text-danger" })
    </div>
</div>

这很有效,但是我需要将“SelectList”更改为“List”,它将元素显示为带有项目符号列表的列表中的文本,而不是列表框中的元素。

我不确定如何转换这个?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

这应该很简单。

首先,在您的模型中,您需要将People更改为列表而不是选择列表。

然后用您需要的数据填充该列表。

然后在视图中,您只需循环播放如下内容:

 <ul>
     @foreach (var person in Model.People){
        <li>person.id person.name</li>
     }
 </ul>

假设我已正确理解你的问题了!