我是MVC3的新手。我想创建一个选择列表/下拉列表,允许我在2-3个内容之间进行选择。我只想从列表中选择一个。有没有一个简单的方法来帮助你做这个。
Mary Jean
这是我的想法。
The helper will select from choices:
1 answer
2 answers
3 answers
并将结果存储在task_type变量
中答案 0 :(得分:14)
您可以使用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" />
}
现在,当用户提交表单时,将调用Index POST操作,并且将使用下拉列表中的用户选择自动填充视图模型的SelectedAnswer
属性。