Помогите с MVC3 Html.DropDownListFor - PullRequest
       2

Помогите с MVC3 Html.DropDownListFor

0 голосов
/ 16 сентября 2011

Мне нужна помощь с тем, как использовать Html.DropDownListFor в MVC3, поскольку документация просто безумно плоха, и я не могу найти здесь ответ, который мне нужен.

У меня есть следующие модели

public class Users
{
     public virtual User_Roles RoleID {get; set;}
     public virtual string UserName{get; set;}
     ... more stuff
}

public class User_Roles
{
    public virtual Int32 RoleID {get; set;}
    public virtual string Role {get; set;}
}

Моя страница (create_user.cshtml) выглядит следующим образом:

@model Users
... stuff
@Html.LabelFor(m => m.RoleID)
@Html.DropDownListFor(m => m.RoleID, Model.RoleID.Role, Model.RoleID.RoleID)

Постоянно выдает ошибку "'System.Web.Mvc.HtmlHelper<Users>' does not contain a definition for 'DropDownListFor'"

Может кто-нибудь объяснить мне, как я могу тянутьсписок имен ролей и идентификаторов из БД, поскольку это явно не способ сделать это?

1 Ответ

2 голосов
/ 16 сентября 2011

Вам необходимо передать элементы раскрывающегося списка, используя SelectList.

. Убедитесь, что вы получаете роли в ViewBag.Roles из контроллера.

@Html.DropDownListFor(m => m.RoleId, new SelectList(ViewBag.Roles as System.Collections.IEnumerable, "Id", "Name"), "")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...