I have a grid where I want to select multiple rows and post back a list of IDs back to an action. I've tried various ways but I'm not successful. Here's my code.
@Html.Kendo().Grid(Model).Name("events").Columns(columns =>
{
columns.Bound(c => c.EventID).Width(140).Title("Name").Hidden(true);
columns.Bound(c => c.EventName).Width(140).Title("Name");
columns.Bound(c => c.EventStatus).Width(120).Title("Status");
columns.Bound(c => c.EventStartDate).Width(140).Format("{0: MM-dd-yyyy}").Title("Start Date");
columns.Bound(c => c.EventEndDate).Width(140).Format("{0: MM-dd-yyyy}").Title("End Date");
columns.Bound(c => c.RegisteredParticipants).Width(120).Title("Registered");
}).HtmlAttributes(new { style = "height: 400px;" }).Scrollable().Sortable().Selectable(s => s.Mode(GridSelectionMode.Multiple)).DataSource(d => d.Server().Model(m => m.Id(c => c.EventID))
)
//Action
[HttpPost]
public ActionResult EmailEvents(IEnumerable<int> events)
{
if (events != null)
{
if (events.Any())
{
EmailEventParticipants(events);
}
}
return View();
}
@Html.Kendo().Grid(Model).Name("events").Columns(columns =>
{
columns.Bound(c => c.EventID).Width(140).Title("Name").Hidden(true);
columns.Bound(c => c.EventName).Width(140).Title("Name");
columns.Bound(c => c.EventStatus).Width(120).Title("Status");
columns.Bound(c => c.EventStartDate).Width(140).Format("{0: MM-dd-yyyy}").Title("Start Date");
columns.Bound(c => c.EventEndDate).Width(140).Format("{0: MM-dd-yyyy}").Title("End Date");
columns.Bound(c => c.RegisteredParticipants).Width(120).Title("Registered");
}).HtmlAttributes(new { style = "height: 400px;" }).Scrollable().Sortable().Selectable(s => s.Mode(GridSelectionMode.Multiple)).DataSource(d => d.Server().Model(m => m.Id(c => c.EventID))
)
//Action
[HttpPost]
public ActionResult EmailEvents(IEnumerable<int> events)
{
if (events != null)
{
if (events.Any())
{
EmailEventParticipants(events);
}
}
return View();
}