Mam mvc aplikacji, w których używam modelu tak:Jak przekazać IEnumerable list do kontrolera w MVC, w tym stanie checkbox?
public class BlockedIPViewModel
{
public string IP { get; set; }
public int ID { get; set; }
public bool Checked { get; set; }
}
teraz mam w celu związania listę takiego:
@model IEnumerable<OnlineLotto.Web.Models.BlockedIPViewModel>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
}
@foreach (var item in Model) {
<tr>
<td>
@Html.HiddenFor(x => item.IP)
@Html.CheckBoxFor(x => item.Checked)
</td>
<td>
@Html.DisplayFor(modelItem => item.IP)
</td>
</tr>
}
<div>
<input type="submit" value="Unblock IPs" />
</div>
teraz mam kontroler do odbierania akcja od złożenia przycisku:
public ActionResult BlockedIPList(IEnumerable<BlockedIPViewModel> lstBlockedIPs)
{
}
Ale jestem coraz wartość null do lstBlockedIPs gdy przychodzi do kontrolera action.I trzeba uzyskać stan pola wyboru tutaj. Proszę pomóż.
Również ukryte pola i pola wyboru w oryginalnym kodzie źródłowym nie znajdują się w bloku 'using'. To może być problem. – Chris
Tak, zgadza się. W mojej odpowiedzi przeniosłem je do formularza, aby było jasne. –
To działa dobrze .. Wiele dzięki. –