主网格是客户,详细信息网格是客户订单。使用EditorTemplate,我让模型工作得很好,但是当涉及到插入新记录时,我很茫然。
我没有以任何方式将CustomerId传递给UserControl。因此,正在创建CustomerId为0的新订单。
Orders表在CustomerId上有唯一键,Order#和OrdersId是主键。我需要创建一个新的客户订单记录,输入订单#,但需要向表单提供客户#。
我显然遗漏了一些东西,当谈到他们的网格和MVC时,他们肯定没有看到Telerik网站上的任何帮助。
非常感谢任何帮助!
答案 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的新记录。