Как вы заполняете форму в ASP.NET MVC, которая содержит DropDownList? - PullRequest
4 голосов
/ 18 ноября 2008

Как вы заполняете форму в ASP.NET MVC, которая содержит DropDownList?

Ответы [ 2 ]

5 голосов
/ 25 ноября 2008

Я полагаю, вы спрашиваете, как сохранить значение для раскрывающегося списка после отправки и повторного отображения формы. Если это так, см. Ниже ОЧЕНЬ ПРОСТОЙ пример:

Создайте новое приложение MVC (используя бета-версию MVC) и поместите в HomeController следующее:

private Dictionary<string, string> getListItems()
{
    Dictionary<string, string> d = new Dictionary<string, string>();
    d.Add("Apple", "APPL");
    d.Add("Orange", "ORNG");
    d.Add("Banana", "BNA");
    return d;
}

public ActionResult Index()
{
    Dictionary<string, string> listItems = getListItems();
    SelectList selectList = new SelectList(listItems, "Value", "Key");
    ViewData["FruitDropDown"] = selectList;

    return View();
}

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(FormCollection form)
{

    string selectedItem = form["FruitDropDown"];

    Dictionary<string, string> listItems = getListItems();
    SelectList selectList = new SelectList(listItems, "Value", "Key", selectedItem);
    ViewData["FruitDropDown"] = selectList;

    ViewData["Message"] = "You selected ID:" + selectedItem;

    return View();

}

И поместите это в Home \ Index.aspx между тегами MainContent:

<div><strong><%= ViewData["Message"] %></strong></div>

<% using (Html.BeginForm()) { %>
<%= Html.DropDownList("FruitDropDown","(select a fruit)") %>
<input type="submit" value="Submit" />
<% } %>
0 голосов
/ 17 августа 2009

Я просто хотел добавить, что BigJoe714 имеет правильное значение, кроме ... нового SelectList (listItems, "Value", "Key", selectedItem) переключил ключ / значение

Конструктор принимает эти параметры для этой перегрузки

public SelectList( IEnumerable items, string dataValueField, string dataTextField, object selectedValue );

Значение данных должно быть ключом, а текст данных - значением.

Но в остальном, большое спасибо! Еще одна отличная особенность asp.net mvc

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...