Javascript 剑道网格-插入具有外部列的新对象失败

Javascript 剑道网格-插入具有外部列的新对象失败,javascript,c#,asp.net,telerik,kendo-grid,Javascript,C#,Asp.net,Telerik,Kendo Grid,两天以来,我面临着一个严重的问题。我将剑道框架版本更新为最新版本,此后,在剑道网格中插入新项目时出现问题。这个问题以前从未出现过 在我的网格中,我有一个机架对象列表。此rack对象有两个外部列;房间和顾客 当我想插入一个新机架时,它失败了,因为控制器说房间和客户信息不应该为空。因此,我的网格不再向我的控制器发送外部列信息 这是我的密码: Rack.aspx { columns.Boundr=>r.eq_NAME.TitleName; //columns.Boundr=>r.eq_ROOM.Ti

两天以来,我面临着一个严重的问题。我将剑道框架版本更新为最新版本,此后,在剑道网格中插入新项目时出现问题。这个问题以前从未出现过

在我的网格中,我有一个机架对象列表。此rack对象有两个外部列;房间和顾客

当我想插入一个新机架时,它失败了,因为控制器说房间和客户信息不应该为空。因此,我的网格不再向我的控制器发送外部列信息

这是我的密码:

Rack.aspx

{ columns.Boundr=>r.eq_NAME.TitleName; //columns.Boundr=>r.eq_ROOM.TitleRoom.ClientTemplateif!data.eq_ROOM{}else{=data.eq_ROOM.ROO_data_CENTER.DAT_NAME-=data.eq_ROOM.ROO_NAME}.EditorTemplateNameRoomEditor; //columns.Boundr=>r.RAC_CUSTOMER.TitleCustomer.ClientTemplateif!data.RAC_CUSTOMER{}else{=data.RAC_CUSTOMER.CUS_data_CENTER.DAT_NAME-=data.RAC_CUSTOMER.CUS_NAME}.EditorTemplateNameCustomerEditor; columns.Boundr=>r.eq_PROVIDER.TitleProvider; columns.ForeignKeyr=>r.eq_-ROOM,System.Collections.IEnumerableViewData[rooms],ROO_-ID,ROO_-DATA_-CENTER.ClientTemplateif!DATA.eq_-ROOM{}else{=DATA.eq_-ROOM.ROO_-DATA_-CENTER.DAT_-NAME-=DATA.eq_-ROO_-NAME}.EditorTemplateNameRoomEditor .Titlerooms.150; columns.ForeignKeyr=>r.RAC_CUSTOMER,System.Collections.IEnumerableViewData[customers],CUS_ID,CUS_DATA_CENTER.ClientTemplateif!DATA.RAC_CUSTOMER{}else{=DATA.RAC_CUSTOMER.CUS_DATA_CENTER.DAT_NAME-=DATA.RAC_CUSTOMER.CUSTOMER}.editor或TemplateNameCustomerEditor .标题客户150; columns.Boundr=>r.eq_MODEL.TitleModel; columns.Boundr=>r.eq_REFERENCE.titlerreference; columns.Boundr=>r.eq\u INTERNAL\u REFERENCE.TitleImmo ID; columns.Boundr=>r.eq_START_UP_DATE.TitleStart DATE.EditorTemplateNameDateEditor.ClientTemplate=kendo.toStringdata.eq_START_DATE,“dd/MM/yyyy”; columns.Boundr=>r.RAC_WIDTH.TitleWidth cm; columns.Boundr=>r.RAC_DEPTH.TitleDepth cm; columns.Boundr=>r.RAC\u UNITS\u NUMBER.TitleUnits NUMBER; columns.Commandcommand=>{command.Edit;command.Destroy;}.Width200; } .ResizeableResize=>resize.Columnstrue .Scrollablescr=>scr.Heightint.ParseConfigurationManager.AppSettings[gridScrollableHeight] .可排序 .toolbar=>{toolbar.Create;toolbar.Excel;} .excel=>excel .filenamedfydac-RACK List.xlsx .Filterabletrue .ProxyURLUrl.ActionExcel\u导出\u保存,Home.AllPagestrue .Pageablepageable=>pageable .真的 .按钮编号5 .Editableeditable=>editable.ModeGridEditMode.InLine .DataSourcedataSource=>dataSource AJAX .PageSizeint.ParseConfigurationManager.AppSettings[gridPageSize] .Modelmodel=>{ model.Idr=>r.eq_ID; model.Fieldp=>p.eq_ROOM.Editabletrue; model.Fieldp=>p.RAC\u CUSTOMER.Editabletrue; } //.Eventsevents=>events //.请求未请求的网格设备 //.错误者 // .Readread=>read.ActionRacks\u read,配置 .Createcreate=>create.ActionRacks\u创建,配置 .Updateupdate=>update.ActionRacks\u更新,配置 .destroy=>destroy.ActionRacks\u destroy,配置 .HtmlAttributesnew{style=ConfigurationManager.AppSettings[gridSize]}
%> 您需要将列定义为外键:

@(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.ProductViewModel>()
    .Name("grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.ProductName);
        columns.ForeignKey(p => p.CategoryID, (System.Collections.IEnumerable)ViewData["categories"], "CategoryID", "CategoryName")
            .Title("Category").Width(150);
        columns.Bound(p => p.UnitPrice).Width(150);
        columns.Command(command => command.Destroy()).Width(110);
    })

我尝试了这个选项,但不幸的是,我得到了同样的行为。你介意发布你进行fk绑定的源代码吗?是的,我编辑了我的文章,更改了外部列。请看上面。