来自IEnumerable <string> model </string>的DropDownList

时间:2013-05-02 06:12:57

标签: c# asp.net-mvc asp.net-mvc-4

我有一个包含不同城市名称的IEnumerable列表模型,我想从这个模型中创建一个DropDownList,我看到一个可行的示例,但是为了创建链接,我认为我们可以通过循环为Dropdownlist做同样的事情通过清单。我怎么能这样做?

@model IEnumerable<string>





    @foreach (var link in Model)
    {
      // ????
    }

3 个答案:

答案 0 :(得分:8)

使用已经可用的htmlhelper

@Html.DropDownList("cities", new SelectList(Model))

答案 1 :(得分:3)

如果您不想使用HtmlHelpers,从你的问题来看,听起来就像你没有那样,你可以使用以下迭代方法来IEnumerable<string>

<select name="myFormInputName">
@foreach (var link in Model)
{
  <option value="@(link)">@(link)</option>
}
</select>

答案 2 :(得分:3)

非常简单的基本形式(不将SelectList移动​​到控制器)是:

@model IEnumerable<string>
@{
var selectList = new SelectList(Model) ;

}

@Html.DropDownList("MyDropDownListName", selectList)

虽然我更喜欢创建HtmlHelper类的扩展,或者使用“强名称”下拉列表@Html.DropDownListFor(myvar=>myvar.City, selectList)