【问题标题】:Kendo Grid - Detail Template - DataSource Read is not firing the controller actionKendo Grid - 详细模板 - 数据源读取未触发控制器操作
【发布时间】:2016-09-09 08:39:44
【问题描述】:

应用类型:带有 Kendo 框架的 ASP.NET MVC

遇到的问题:详细信息模板未触发控制器操作方法。请同时找到随附的屏幕截图。我也在firebug窗口下检查过,没有对控制器操作方法“PublishedImportFiles_Read”的ajax调用。这让我发疯和烦人。此异常不会引发或显示错误。我想我错过了一些非常小的东西。

请帮忙。

MVC - 查看代码

 <div class="gapLeft gapBelow20" style="width:70%;">
    @(Html.Kendo().Grid<ViewModels.PublishedImportViewModel>()
                    .Name("GridImport")
                    .Columns(columns =>
                    {
                        columns.Bound(p => p.TemplateGroup).Title("Template Group").Width("120px");
                        columns.Bound(p => p.TaxYear).Title("Tax Year").Width("70px");
                        columns.Bound(p => p.FileDescription).Title("Description").Width("200px");
                        columns.Bound(p => p.DatePublished).Title("Published Date").Format("{0:MM/dd/yyyy}").Width("100px");
                        columns.Bound(p => p.PublishedBy).Title("Published By").Width("100px");

                    })
                       .Scrollable()
                       .ClientDetailTemplateId("tplGridImport")
                       .Events(et => et.DataBound(fnCall.Replace("functionName", "gridImpDataBound")))
                       .Events(et => et.DetailInit(fnCall.Replace("functionName", "gridImpChildInit")))
                       .HtmlAttributes(new { style = "height:300px;" })                           
                       .DataSource(ds => ds.Ajax().ServerOperation(false)
                               .Read(read => { read.Action("PublishedImport_Read", "Import"); })
                               .Model(m => { m.Id(p => p.TemplateGroupID); })
                               )
                  )
</div>

<script id="tplGridImport" type="text/kendo-tmpl">
    @(Html.Kendo().Grid<ViewModels.PublishedImportViewModel>()
         .Name("GridImport_#=TemplateGroupID#")
        .Columns(columns =>
        {
            columns.Bound(c => c.TemplateGroup).Title("Template Group").Width("120px");
            columns.Bound(c => c.TaxYear).Title("Tax Year").Width("70px");
        })
        .DataSource(dsx => dsx.Ajax()
                            .Read(rd => { rd.Action("PublishedImportFiles_Read", "Import"); })
                         )
        .ToClientTemplate()
    )
</script>

导入控制器ActionResult方法:

 [OutputCache(Duration = 0)]
    public ActionResult PublishedImportFiles_Read([DataSourceRequest] DataSourceRequest request)
    {
        int groupID = 5;
        IEnumerable<PublishedImportViewModel> pubVM = Enumerable.Empty<PublishedImportViewModel>();
        var pubRecords = base.ScenarioMangtService.GetPublishedImportFilesByTemplateGroup(ClientID, SelectedYear, groupID);

        pubVM = pubRecords.Select(s => new PublishedImportViewModel
                                                    {
                                                        ImportFileJobID = s.ImportFileJobID,
                                                        TemplateGroupID = s.TemplateGroupID,
                                                        TemplateGroup = s.TemplateGroup,
                                                        FileName = s.FileName,
                                                        FileDescription = s.FileDescription,
                                                        TaxYear = SelectedYear,
                                                        DatePublished = s.DatePublished,
                                                        PublishedBy = s.PublishedBy
                                                    });

        return Json(pubVM.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);

    } 

【问题讨论】:

  • 你试过用
  • @calinaadi 请澄清您的答案。我没听懂。
  • 我在项目中使用 MVC。所以这就是使用@符号的原因。
  • 你的javascript函数在做什么?

标签: asp.net-mvc kendo-ui kendo-grid kendo-asp.net-mvc kendo-template


【解决方案1】:

KendoGrid 代码没有任何问题。奇怪的是,另一个 js 文件中有一个 javascript 错误。由于某些奇怪的原因,它破坏了详细模板网格的绑定。

所以当我在另一个文件中注释了其他损坏的代码时,这个网格会自动开始工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多