创建新项目时指定默认值

时间:2012-04-03 14:22:16

标签: telerik telerik-grid telerik-mvc

关于Telerik MVC Grid的这个问题。

我有两个带有Master-> Details关系的网格。使用Ajax绑定加载这些网格。我想在详细信息网格中创建新项目,并从主网格传递ProductId字段值。 我在下面添加了属性,但不知道如何从Master网格获取ProductId。我试图使用ViewBag在Detail上加载它来传递值,似乎没有分配ViewBag然后执行Ajax调用。也许有人知道如何解决这个问题?

Editable(editing => editing.DefaultDataItem(new UserViewModel { ProductId = ?????? })

2 个答案:

答案 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))