【问题标题】:Kendo DatasourceRequest has null valuesKendo DatasourceRequest 具有空值
【发布时间】:2013-10-29 12:52:14
【问题描述】:

会有简化的代码,类似于我自己的问题描述: 我有这个模型类:

public class Parent
{
    public Guid Id { get; set; }
    public string Something { get; set; }
    public Child[] Children { get; set; }
}

public class Child
{
    public string Code { get; set; }
    public string Title { get; set; }
}

有观点:

@(Html.Kendo().Grid<Stihl.UnfairCompetitionWeb.DataLayer.Models.Parent>(Model.Parents)
    .Name("grid")
    .Columns(columns => {
        columns.Bound(e => e.Something);
        foreach (Stihl.UnfairCompetitionWeb.DataLayer.Models.LanguageModel l in Model.Languages)
        {
            columns.Bound(e => e.Children[Model.Languages.IndexOf(l)].Title).Title(l.Code).HeaderHtmlAttributes(new { data_language = l.Code });
        }

        columns.Command(command => command.Destroy());
    })
    .ToolBar(toolbar => {
            toolbar.Create();
            toolbar.Save();
        })
    .Editable(editable => editable.Mode(GridEditMode.InCell))
    .Pageable((p => p.PageSizes(new[] { 5, 10, 20, 50 })))
    .Sortable()
    .DataSource(dataSource => dataSource
        .Ajax()
        .Batch(true)
        .ServerOperation(true)
        .PageSize(10)
        .Events(events => events.Error("error_handler"))
        .Model(model => model.Id(e => e.Id))
        .Read(read => read.Action("ProductCategories_Read", "Admin"))
        .Create(create => create.Action("ProductCategories_Create", "Admin"))
        .Update(update => update.Action("ProductCategories_Update", "Admin"))
        .Destroy(destroy => destroy.Action("ProductCategories_Delete", "Admin"))
    )
)

因此,在控制器上的 Crud 方法上,DataSourceRequest 属性(如 Aggregates、Filters、Groups 和 Sorts)为空。

JFI - 我在其他情况下以相同的方式使用网格,它工作正常。

在我看来,在这种情况下有什么问题 - 网格列绑定在数组中的项目上。不在模型类的一些简单属性上。还有更多问题,我解决了什么。

DataSourceRequest 的问题是最后一个。没有它我无法实现分页、排序、过滤和其他功能,这通常是关于视图上的一个关键字和控制器上的简单代码。

有什么方法可以在客户端使用它吗?

PS: 控制器方法。但是在控制器上,传入的 DataSourceRequest 包含描述的空数据。

public ActionResult Parents_Read([DataSourceRequest] DataSourceRequest request)
{
    return Json(entities.Parents.ToModel(entities.Languages.ActiveLangauges()).ToDataSourceResult(request));
}

【问题讨论】:

  • 你确定aspnetmvc脚本已经加载了吗?还有控制器是什么样子的?
  • 是的,我确定。在控制器上只有有问题的传入数据。我添加它只是为了提供信息,但没有什么有趣的 - 就像在基本示例中一样。问题是帖子上不存在数据,因此它们在控制器上不正确。似乎真正的问题是如何在 Kendo 中处理帖子,如何加载排序、过滤等请求。
  • 过时了。错误的问题,错误在别处。

标签: c# kendo-ui


【解决方案1】:

用于解决 DataSourceRequest: 我也遇到过同样的问题,不过我把 kendo.web.min.js 改成了 kendo.all.min.js 问题就解决了。

【讨论】:

    【解决方案2】:

    我也遇到过同样的问题。我通过添加 kendo.aspnetmvc.min.js 解决了这个问题 用这个js文件请求可以打Httppost方法。不是httpget方法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-27
      • 1970-01-01
      • 1970-01-01
      • 2016-05-23
      • 2015-01-24
      相关资源
      最近更新 更多