DropDownListFor的Razor语法

时间:2016-02-09 14:36:14

标签: asp.net-mvc razor html.dropdownlistfor

如何使用HTML帮助程序编写下面的代码?

<select name="CountryId">
    @foreach (var c in ViewBag.Counties) {
        <option value="@c.Id">@c.Name</option>
    }
</select>

上面的代码将在我的浏览器中提供正确的HTML代码。但是,如果我使用下面的HTML帮助器,则缺少选项标签中的值属性

@Html.DropDownListFor(
    model => model.CountryId, 
    new SelectList(ViewBag.Countries, "Name"), 
    new { htmlAttributes = new { @class = "form-control" } }
)

如果您知道ViewBag.Counties是来自List<Country>类型的对象并且具有属性Name(字符串类型)和{{1},则此代码中出现了什么错误}(int的类型)。

1 个答案:

答案 0 :(得分:1)

试试这个。您的选择列表项应该在父类中创建,该类是您在视图页面中绑定的模型类。

 @Html.DropDownListFor(model => model.CountryId,new SelectList(ViewBag.Countries,"CountryID", "CountryName"),new {@class='form-control'})