Ich bin neu in ASP.NET MVC. Mein Problem ist - ich möchte eine Sammlung der Artikel "POST", so dass der Controller es verarbeiten kann. Mein Modell ist eine Sammlung von -Warum Liste von Checkbox-Auswahlen immer als null in ASP.NET MVC-5
public class CheckedRentalProperty
{
public bool IsSelected { get; set; }
public int Id { get; set; }
public String Address { get; set; }
}
Mein Controller wie folgt definiert ist -
public class RentalPropertiesController : Controller
{
public ActionResult Index()
{
List<CheckedRentalProperty> checkHsList = new List<CheckedRentalProperty>();
// Fill the list
return View(checkHsList);
}
[HttpPost]
public ActionResult Save(IEnumerable<CheckedRentalProperty> checkHsList)
{
// why checkHsList is coming as null ??
}
}
Und die Aussicht ist so -
@model IEnumerable<XXX.Models.CheckedRentalProperty>
@using (Html.BeginForm("Save", "RentalProperties", FormMethod.Post))
{
<div class="form-horizontal">
<div class="form-group">
<table class="table">
<tr>
<th>
</th>
<th>
@Html.DisplayNameFor(model => model.Address)
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@Html.CheckBoxFor(modelItem => item.IsSelected)</td>
<td>
@Html.DisplayFor(modelItem => item.Address)
</td>
</tr>
}
</table>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
</div>
}
Meine Erwartungen war - wenn ich traf den "Save" -Taste, das Modell, das IEnumerable<CheckedRentalProperty>
Element ist, wird an die Save()
Aktion des Controllers übergeben. Ich finde jedoch, dass der übergebene Parameter die ganze Zeit "Null" ist. Was vermisse ich?
Diese Frage ist kein Duplikat. Bitte lesen Sie Orel's Antwort und überprüfen Sie die Unterschiede – user1748546
Es ist ein Duplikat. Lies es sorgfältig, weil es auch genau erklärt, warum dein Code nicht funktioniert und wie man ihn mit 'for' loop oder' EditorTemplate' löst (und 'Orel's Antwort wiederholt nur, was im Duplikat ist!) Und Orels Antwort enthält Unsinn wie _IEnumerable sind nicht zu freundlich _ was einfach nur falsch ist und es ist völlig unnötig, ein anderes Ansichtsmodell zu erstellen, um Ihr vorhandenes zu verschmelzen –