我有一个包含不同城市名称的IEnumerable列表模型,我想从这个模型中创建一个DropDownList,我看到一个可行的示例,但是为了创建链接,我认为我们可以通过循环为Dropdownlist做同样的事情通过清单。我怎么能这样做?
@model IEnumerable<string>
@foreach (var link in Model)
{
// ????
}
答案 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)