2014-02-10 69 views
0

我使用Kendo UI网格(MVC Wrappers),ASP.NET MVC 3和Jquery。剑道可编辑网格,ASP.NET MVC更新行限制?

我有一个可编辑的批处理模式Kendo网格。在许多情况下,这个网格将有30或40行,全部都可以编辑给用户。当用户点击提交按钮时,Kendo软件将网格的所有更新行放入一个集合中,并将它们发送到服务器进行处理。当用户编辑的行数少于18时,所有工作都正常。如果用户编辑了17条记录,它们都会很好地发送到控制器。如果用户编辑了18条或更多条记录,则会出错,并且它甚至不会在服务器上达到我的中断点。错误消息不是有意义的,因为它只是从我的页面中获取的一堆HTML。

这里是我的控制器的操作方法如下内容:

[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult _AjaxUpdateFields([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<People> updatedPeople) 
    { 
     //DO STUFF WITH UPDATED DATA 
    } 

这里是我的网格设置洛斯类似:

Html.Kendo() 
.Grid<MyProject.Models.Domain.Students>() 
.Name("Students") 
.Sortable(settings => settings.Enabled(false)) 
.Filterable(settings => settings.Enabled(false)) 
.Resizable(resizing => resizing.Columns(true)) 
.Scrollable(settings => settings.Enabled(true))  
.HtmlAttributes(new { style = "font-size: 85%;" }) 
.Columns(columns => 
    { 
     columns.Bound(o => o.StudentId).Title("StudentId").Hidden(); 
     columns.Bound(o => o.Name).Title("Student Name").Width(200); 
     columns.Bound(o => o.teacher).Title("Teacher") 
      .ClientTemplate("#=data.teacher ? teacher.teacherName : ''#").Width(150).Filterable(false); 
    }) 
    .DataSource(dataSource => dataSource.Ajax() 
             .Batch(true) 
             .ServerOperation(false) 
             .Model(model => 
              { 
               model.Id(c => c.StudentId); 
               model.Field(c => c.teacher);              
              }) 
              .Events(events => events.Error("Field_onError")) 
              .Read(read => read.Action("_AjaxGetFields", "Student")) 
              .Update("_AjaxUpdateFields", "Student") 
              .Destroy("_AjaxDelFields", "Student")) 
    .Events(events => events.DataBound("Fields_onDataBound") 
          .Change("onFieldSelect") 
          .Edit("onFieldEdit") 
          ) 
    .ToolBar(commands => 
     { 
      commands.Save().HtmlAttributes(new { id = "saveField" }); 
     }) 
    .Scrollable(scrollable => scrollable.Height("375px")) 
    .Selectable() 
    .Editable(editing => editing.Mode(Kendo.Mvc.UI.GridEditMode.InCell)).Render(); 

所以我想既然我能做到17条记录完全正常,但只要碰到18或更多,它就会崩溃,那么我需要修改一些限制或最大限度的地方?

Kendo网格在当时可以发送回控制器的行数是否有限制?

是否有可能有一些MVC,IE或Web服务器设置限制了这一点?或者可能需要设置的JQuery中的某些内容?

回答

1

我终于找到了解决方案。这可以标记为已回答。

我需要把它添加到我的web.config:

<appSettings> 
<add key="aspnet:MaxHttpCollectionKeys" value="3000"/>