我可以使用MVC3帮助程序创建选择列表吗?

Mar*_*ean 7 asp.net-mvc

我是MVC3的新手.我想创建一个选择列表/下拉列表,允许我在2-3个内容之间进行选择.我只想从列表中选择一个.有一个简单的方法来帮助你做这个.

玛丽让

这是我的想法.

The helper will select from choices:

1 answer
2 answers
3 answers
Run Code Online (Sandbox Code Playgroud)

并将结果存储在task_type变量中

Dar*_*rov 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" },
            };
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后一个控制器:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        var model = new AnswersViewModel();
        return View(model);
    }

    [HttpPost]
    public ActionResult Index(AnswersViewModel model)
    {
        return View(model);
    }
}
Run Code Online (Sandbox Code Playgroud)

最后一个强类型视图:

@model AnswersViewModel
@using (Html.BeginForm())
{
    @Html.DropDownListFor(
        x => x.SelectedAnswer,
        new SelectList(Model.Answers, "Value", "Text")
    )
    <input type="submit" value="OK" />
}
Run Code Online (Sandbox Code Playgroud)

现在,当用户提交表单时,将调用Index POST操作,并且SelectedAnswer将使用下拉列表中的用户选择自动填充视图模型的属性.