asp.net mvc2 dropdownlist for

问题描述

| 我想在我的asp.net MVC2视图中创建一个dropdownlist,下面是代码
 foreach (var whiteout in Model)
        {
%>
<tr>
    <td>
        <%= whiteout.Field.NiceName%>
       <%  Html.DropDownListFor(\"anyname\",Model); %>

<%
                }
            }
%>
但我收到第二个参数不正确的错误。第二个参数是一个列表。这是在局部视图顶部声明模型的方式:
<%@ Control Language=\"C#\" Inherits=\"System.Web.Mvc.ViewUserControl<IEnumerable<EnviroTracker.Entities.Whiteout>>\" %>
请建议如何解决此问题?     

解决方法

        
DropDownListFor
辅助函数将
SelectList
作为第二个参数,并将lambda表达式作为简单属性的第一个:
<%= Html.DropDownListFor(
    x => x.SomeProperty,new SelectList(Model.SomeList,\"ValueProperty\",\"TextProperty\")
) %>
如果要使用弱类型的
DropDownList
帮助程序,则可以手动指定将绑定到的属性的名称,但是第二个参数仍应为
SelectList
<%= Html.DropDownList(
    \"SomeProperty\",\"TextProperty\")
) %>