我在使用MVC中的htmlhelper dropdownlist時遇到了問題。回發時,沒有選擇任何東西,模型中的值和列表中的值都是空的。MVC DropDownListFor空值
這裏是我的模型:
namespace MvcTestWebApp.Models
{
public class Customer
{
public string name { get; set; }
public List<SelectListItem> members { get; set; }
public Member selected { get; set; }
}
public class Member
{
public string name { get; set; }
}
}
控制器:
namespace MvcTestWebApp.Models
{
public class CustomerController : Controller
{
//
// GET: /Customer/
public ActionResult Index()
{
Customer cust = new Customer() { name = "Cust1" };
cust.members = new List<SelectListItem>();
cust.members.Add(new SelectListItem(){Text = "Bob"});
cust.members.Add(new SelectListItem(){Text = "Dave"});
return View(cust);
}
[HttpPost]
public ActionResult Index(Customer customer)
{
return View();
}
}
}
,並查看:
@model MvcTestWebApp.Models.Customer
@{
ViewBag.Title = "Customer";
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title> Index </title>
</head>
<body>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Customer Data</legend>
@Html.HiddenFor(model => model.name)
@Html.DropDownListFor(model => model.selected, Model.members, "--Select--")
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
}
</body>
</html>
當我選擇從選擇列表中的東西,並點擊提交按鈕空值返回:
任何人都可以闡明我做錯了什麼?
Ahh當然。謝謝Stephen。當你知道如何時很容易。 –
+1「您可以將FormCollection集合添加到控制器操作的參數中,以查看MVC用於構建傳遞給方法的對象的信息。」我意外地爲另一個表單設置了賦值表單,我想了幾個小時,我的DropDownListFor不想返回Guid ... FormCollection告訴我,問題是表單不是模型 – cadi2108