Проблемы с получением DropDownListFor для работы в EditorFor в MVC3

У меня довольно простая проблема, решение которой я не могу найти.

Учитывая следующую модель:

public class InfoViewModel
{
    public SelectList States { get; set; }

    [DisplayName("State")]
    public string State { get; set; }
}

В моем view:

@Html.DropDownListFor(m => m.State, Model.States)

Однако, если я попытаюсь вставить это в шаблон редактора (названный "SelectList"), например:

@model System.String
@Html.DropDownListFor(m => m, ViewData["selectList"])

И затем использовать EditorFor для создания раскрывающегося списка:

@Html.EditorFor(m => m.State, "SelectList", new { selectList = Model.States })

It выдает следующую ошибку:

'System.Web.Mvc.HtmlHelper<string>' does not contain a definition for 
'DropDownListFor' and the best extension method overload 
'System.Web.Mvc.Html.SelectExtensions.DropDownListFor<TModel,TProperty>
(System.Web.Mvc.HtmlHelper<TModel>, 
System.Linq.Expressions.Expression<System.Func<TModel,TProperty>>, 
System.Collections.Generic.IEnumerable<System.Web.Mvc.SelectListItem>)' 
has some invalid arguments

Мне трудно понять разницу между этими двумя. Я пробовал различные обходные пути для устранения неполадок и получаю ту же ошибку или что-то еще.

Заранее спасибо.

9
задан Darin Dimitrov 12 June 2011 в 08:11
поделиться