关于Telerik MVC Grid的这个问题。
我有两个带有Master-> Details关系的网格。使用Ajax绑定加载这些网格。我想在详细信息网格中创建新项目,并从主网格传递ProductId字段值。 我在下面添加了属性,但不知道如何从Master网格获取ProductId。我试图使用ViewBag在Detail上加载它来传递值,似乎没有分配ViewBag然后执行Ajax调用。也许有人知道如何解决这个问题?
Editable(editing => editing.DefaultDataItem(new UserViewModel { ProductId = ?????? })
答案 0 :(得分:1)
当您拥有Master Grid和Detail Grid时, 并且您想在Detail Grid中创建记录, 您应该添加JavaScript逻辑,该逻辑使用详细信息网格的OnSave事件将附加值传递给服务器(它应该是主网格中的选定记录)。 检查documentation是否有例子。
答案 1 :(得分:0)
您是否尝试过使用客户端模板?
Editable(editing => editing.DefaultDataItem(new UserViewModel { ProductId = <#= ProductId #> })
如果您正在使用 Ajax绑定,您还可以在插入时传递父级ID:
dataBinding.Ajax().Insert("_Insert", "SubItem", new { productId= "<#= ProductId #>" }));
不要忘记设置父网格的DataKey
.DataKeys(keys => keys.Add(c => c.Id))