Ich habe Probleme mit der Dropdown-Liste für HTML-Helper in MVC. Wenn das Zurücksetzen erfolgt, ist nichts ausgewählt und die Werte im Modell für die Liste und das ausgewählte Element sind null.MVC DropDownListFor Null Werte
Hier meine Modelle sind:
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; }
}
}
Controller:
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();
}
}
}
und Aussicht:
@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>
Wenn ich etwas aus der Auswahlliste auswählen und auf die Schaltfläche nulls einreichen klicken sind zurückgegeben:
Kann jemand etwas Licht auf das werfen, was ich falsch mache?
Ahh natürlich. Vielen Dank Stephen. Einfach, wenn Sie wissen wie. –
+1 für "Sie können FormCollection-Auflistung den Parametern der Controller-Aktion hinzufügen, um zu sehen, welche Informationen MVC verwendet, um die Objekte zu erstellen, die an die Methoden übergeben werden." Ich habe versehentlich Attributform für ein anderes Formular gesetzt, und ich dachte für einige Stunden, dass mein DropDownListFor Guid nicht zurückgeben möchte ... FormCollection sagte mir, dass das Problem Form nicht Modell ist – cadi2108