#asp.net-mvc
#asp.net-mvc
Вопрос:
Я новичок в MVC3. Я хотел бы создать список выбора / выпадающий список, который позволит мне выбирать между 2-3 вещами. Я только хочу иметь возможность выбирать из списка. Есть ли простой способ сделать это с помощью помощника.
Мэри Джин
Вот моя идея.
The helper will select from choices:
1 answer
2 answers
3 answers
и сохранить результат в переменной task_type
Ответ №1:
Вы могли бы использовать DropDownListFor
помощника. Я бы начал с определения модели представления:
public class AnswersViewModel
{
public string SelectedAnswer { get; set; }
public IEnumerable<SelectListItem> Answers
{
get
{
return new[]
{
new SelectListItem { Value = "1", Text = "1 answer" },
new SelectListItem { Value = "2", Text = "2 answers" },
new SelectListItem { Value = "3", Text = "3 answers" },
};
}
}
}
затем контроллер:
public class HomeController : Controller
{
public ActionResult Index()
{
var model = new AnswersViewModel();
return View(model);
}
[HttpPost]
public ActionResult Index(AnswersViewModel model)
{
return View(model);
}
}
и, наконец, строго типизированное представление:
@model AnswersViewModel
@using (Html.BeginForm())
{
@Html.DropDownListFor(
x => x.SelectedAnswer,
new SelectList(Model.Answers, "Value", "Text")
)
<input type="submit" value="OK" />
}
Теперь, когда пользователь отправляет форму, будет вызвано действие публикации индекса, и SelectedAnswer
свойство модели представления будет автоматически заполнено пользовательским выбором из выпадающего списка.
Комментарии:
1. Вау, Дарин, твой ответ действительно хорош. Я могу многому у вас научиться. Большое спасибо!!
2. Один вопрос. В нем говорится, что не удалось найти SelectListItem. Нужно ли мне определять этот класс?
3. @MaryJean, нет, тебе нужно импортировать пространство имен, в котором определен этот класс:
using System.Web.Mvc
.