我想在我的asp.net MVC2视图中创建一个下拉列表,我正在关注代码:
foreach (var whiteout in Model)
{
%>
<tr>
<td>
<%= whiteout.Field.NiceName%>
<% Html.DropDownListFor("anyname", Model); %>
<%
}
}
%>
但我得到第二个参数不正确的错误。第二个参数是一个列表。以下是在部分视图顶部声明Model的方式:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<EnviroTracker.Entities.Whiteout>>" %>
请建议如何解决这个问题?
答案 0 :(得分:0)
DropDownListFor
帮助器将SelectList
作为第二个参数,将lambda表达式作为第一个简单属性:
<%= Html.DropDownListFor(
x => x.SomeProperty,
new SelectList(Model.SomeList, "ValueProperty", "TextProperty")
) %>
如果你想使用弱类型DropDownList
助手,你可以手动指定它将被绑定的属性的名称,但第二个参数应该仍然是SelectList
:
<%= Html.DropDownList(
"SomeProperty",
new SelectList(Model.SomeList, "ValueProperty", "TextProperty")
) %>