【问题标题】:Kendo Editable Grid, ASP.NET MVC Updated row limits?Kendo 可编辑网格,ASP.NET MVC 更新了行限制?
【发布时间】:2014-02-10 21:17:00
【问题描述】:

我正在使用 Kendo UI 网格(MVC Wrappers)、ASP.NET MVC 3 和 Jquery。

我有一个可编辑的批处理模式剑道网格。在许多情况下,此网格将有 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 中可能需要设置的东西?

【问题讨论】:

    标签: jquery asp.net-mvc asp.net-mvc-3 kendo-ui kendo-grid


    【解决方案1】:

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

    我需要将此添加到我的 web.config:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多