asp.net mvc2 dropdownlistfor

时间:2011-05-31 19:49:33

标签: asp.net asp.net-mvc-2

我想在我的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>>" %>

请建议如何解决这个问题?

1 个答案:

答案 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")
) %>