RenderAction для генерации выпадающего меню? - PullRequest
1 голос
/ 20 апреля 2011

У меня есть форма MVC, которая помимо прочего содержит int, который должен быть сопоставлен с текстовыми строками, отображаемыми в раскрывающемся списке.

MyViewModel
{
    ...other fields...
    int Level { get; set; }
    ...other fields...
}

Можно ли использовать RenderAction для поля Level и генерироватьвыпадение из отдельного действия?

Надеюсь, этот вопрос понятен, я бросаю кофе, и моя голова не там, где обычно.

1 Ответ

1 голос
/ 20 апреля 2011

Хотя многие люди советуют (справедливо) не делать этого, но если вы настаиваете, вы можете сделать что-то вроде

public VMDropDown
{
     IEnumerable<SelectListItem> Items{get;set;}
     public string InputName{get;set;}
}

, так как вы хотите использовать этот раскрывающийся список, вы можете принять его атрибут html name в качестве действияПараметр метода

public ActionResult(string inputName)
{
    VMDropDown model = new VMDropDown();
    model.InpuName = inputName;
    model.Items = //populate Text and Value property of each SelectListItem from db
    return View(model);

}

на ваш взгляд вы можете написать что-то вроде

<:Html.Dropdown(Model.InputName, Model.Items)%>
...