Telerik ASP.NET MVC2 Grid Удалить функцию с составным ключом
У меня есть сетка с составным ключом: OrderId, ItemID. Когда я обновляю сетку - public ActionResult UpdateItemGridAjax(int OrderID, string ItemID)
Получает оба значения из сетки.
Когда я удаляю строку, я получаю только первую:
public ActionResult DeleteItemGridAjax(int OrderID, string ItemID)
Почему это происходит и как я могу получить значение ItemId удаленной строки?
Определение сетки:
<%=
Html.Telerik().Grid<ItemsInOrderPOCO>()
.Name("ItemsInOrderGrid")
.DataKeys(dataKeys =>
{
dataKeys.Add(e => e.OrderID);
dataKeys.Add(e => e.ItemID);
})
.ToolBar(commands => commands.Insert())
.DataBinding(dataBinding =>
{
dataBinding.Ajax() //Ajax binding
.Select("SelectItemGridAjax", "Orders", new { OrderID = Model.myOrder.OrderID })
.Insert("InsertItemGridAjax", "Orders", new { OrderID = Model.myOrder.OrderID })
.Update("UpdateItemGridAjax", "Orders")
.Delete("DeleteItemGridAjax", "Orders");
})
.Columns(c =>
{
c.Bound(o => o.ItemID);
c.Bound(o => o.OrderID).Column.Visible = false;
c.Bound(o => o.ItemDescription);
c.Bound(o => o.NumOfItems);
c.Bound(o => o.CostOfItem);
c.Bound(o => o.TotalCost);
c.Bound(o => o.SupplyDate);
c.Command(commands =>
{
commands.Edit();
commands.Delete();
}).Width(180).Title("Upadte");
})
1 ответ
2-й ключ возвращается как Id, а не ItemID. есть способ определить это в коде:
.DataKeys(dataKeys =>
{
dataKeys.Add(e => e.OrderID).RouteKey("OrderID");
dataKeys.Add(e => e.ActivityID).RouteKey("ActivityID");
})
Что даст вам больше шансов получить то, что вы ожидаете.