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

时间:2011-06-07 07:05:06

标签: asp.net-mvc

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

Mary Jean

这是我的想法。

The helper will select from choices:

1 answer
2 answers
3 answers

并将结果存储在task_type变量

1 个答案:

答案 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属性。

相关问题