我有一个列表要传递给我在 ViewBag 中的视图:
public ActionResult ContactUs()
{
List<SelectListItem> reasons = new List<SelectListItem>();
reasons.Add(new SelectListItem
{
Selected = true,
Text = "Billing/Payment question",
Value = "Billing/Payment question"
});
reasons.Add(new SelectListItem
{
Text = "Complaint",
Value = "Complaint"
});
ViewBag.reasons = reasons;
return View();
}
[HttpPost]
public ActionResult ContactUs(ContactUs form)
{
//some code
return View("ContactUs");
}
模型:
[Required]
public String Reason { get; set; }
浏览:
@model #####.ViewModels.ContactUs
@using (Html.BeginForm("ContactUs","Home", FormMethod.Post))
{
@Html.DropDownListFor(Model => Model.Reason, (IEnumerable<SelectListItem>) ViewBag.reasons);
}
我需要创建一个 dropdownlist ,也许 DropDownList("reasons") (应该是更好的编写方式)形成 ViewBag.reasons 并将选定的值作为属性 String Reason 传递给我的模型。只是对 DropDownList/DropDownListFor 的使用感到困惑。谢谢!