asp.net mvc html.dropdownlist错误

时间:2010-07-02 15:49:36

标签: asp.net-mvc-2

CS1928:'System.Web.Mvc.HtmlHelper'不包含'DropDownList'的定义和最佳扩展方法重载'System.Web.Mvc.Html.SelectExtensions.DropDownList(System.Web.Mvc.HtmlHelper, string,string)'有一些无效的参数

我从成员提供者那里获得用户角色,然后要求用户选择角色。角色位于注册页面的下拉列表中。

public ActionResult ChangePassword() 
        {

            ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
            var roles = Roles.GetAllRoles().ToList();       
            ViewData["Roles"] = new SelectList(roles);

            return View();
        }

<p>
               <%= Html.DropDownList("Userrole",((SelectList)ViewData["Roles"]).Items,"--Select One---") %>
                </p>

2 个答案:

答案 0 :(得分:1)

尝试

  <%= Html.DropDownList("Userrole",((SelectList)ViewData["Roles"]),"--Select One---") %>

<强>更新

还有其他因素导致问题(您是否有DropDownlist的其他扩展程序?)

以下适用于我:

动作

 public ActionResult About()
        {
            var x = new List<string>
            {
                "A", "B", "C"
            };
            var y = new SelectList(x);
            ViewData["z"] = y;
            return View();
        }

查看

 <%= Html.DropDownList("Userrole",((SelectList)ViewData["z"]),"--Select One---") %>

答案 1 :(得分:0)

控制器代码

  public ActionResult About()
    {
        var x = new []
        {
            "A", "B", "C"
        };
        var y = new SelectList(x);
        ViewData["z"] = y;
        return View();
    } 

这是您的查看代码 你试试这个工作正常

<%: Html.DropDownList("Userrole", ViewData["z"] as SelectList,"--selectone--")%>