Telerik Grid MVC2在嵌套网格中插入子记录

时间:2010-12-01 06:10:34

标签: asp.net-mvc telerik grid

主网格是客户,详细信息网格是客户订单。使用EditorTemplate,我让模型工作得很好,但是当涉及到插入新记录时,我很茫然。

我没有以任何方式将CustomerId传递给UserControl。因此,正在创建CustomerId为0的新订单。

Orders表在CustomerId上有唯一键,Order#和OrdersId是主键。我需要创建一个新的客户订单记录,输入订单#,但需要向表单提供客户#。

我显然遗漏了一些东西,当谈到他们的网格和MVC时,他们肯定没有看到Telerik网站上的任何帮助。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

从我的观点来看,允许用户输入新项目的关键字段值不是一个好习惯,因为这很容易出错(在列类型的上下文中键可能不唯一或无效) 。我为网格选择的是让关键字段自动递增或自己生成新行的键值,以确保没有重复。

答案 1 :(得分:0)

记录ID始终以“id”形式返回,并且必须以这种方式编码。

[GridAction]
public ActionResult _SaveMasterTable(int id) {
    using (DataContext dc = new DataContext()) {
        MasterTable model = dc.MasterTables.SingleOrDefault(
            e => (e.MasterId == id)
        );e

在上面的案例中,主记录将被更新。对于子记录,返回的记录ID是主...允许您插入具有主ID的新记录。