【问题标题】:DatasourceRequest always return null when Kendo grid is in PopUp当 Kendo 网格在 PopUp 中时,DatasourceRequest 总是返回 null
【发布时间】:2017-05-15 03:43:56
【问题描述】:

我试图在单击链接时在弹出窗口中打开剑道网格。剑道网格在弹出窗口中完美打开,但过滤和排序功能不起作用。我正在使用服务器端操作。当我在 DatasourceRequest 的控制器端对特定列进行排序时,我总是将值设为 null。

任何帮助都非常感谢..

  <div class="panel-body" id="countryImageData">
                    @(Html.Kendo().Grid(Model.GlobalInventoryImages)
                .Name("InventoryCountryImageDetailsGrid")
                .Columns(columns =>
                {
                    columns.Bound(p => p.SmartInventoryID).Hidden().Title("SPC #").HtmlAttributes(new { @id = "CountrySmartInventory_Grid" });
                    columns.Bound(p => p.SubwayProductCode).Width(50).Title("SPC #").HtmlAttributes(new { @id = "CountrySubwayProductCode_Grid" });
                    columns.Bound(p => p.GlobalCaseImageName).Width(100).Title("Case Images").HtmlAttributes(new { @id = "GlobalCaseGraphicName_Grid" }).ClientTemplate(" <a href=\"javascript:void(0);\" class=\"btn-openpdf\" onClick = \"getGlobalImage(this,false,true,true);\">#=GlobalCaseImageName#</a> ");
                    columns.Bound(p => p.GlobalInnerImageName).Width(100).Title("Inner  Images ").HtmlAttributes(new { @id = "GlobalInnerImageName_Grid" }).ClientTemplate(" <a href=\"javascript:void(0);\" class=\"btn-openpdf\" onClick = \"getGlobalImage(this,false,false,true);\">#=GlobalInnerImageName#</a> ");
                    columns.Bound(p => p.CountryNames).Width(100).Title("Country").HtmlAttributes(new { @id = "CountryNames_Grid" });
                })
                                        .Pageable(pager => pager.PageSizes(new int[] { 25, 50, 75, 100 }).Input(true))
                                        .Sortable(e => e.AllowUnsort(true).SortMode(GridSortMode.MultipleColumn))
                                        .Scrollable()
                                        .ColumnMenu()
                                        .NoRecords("No Records")
                                        .Selectable(e => e.Mode(GridSelectionMode.Multiple))
                                        .Filterable()
                                        .ColumnResizeHandleWidth(10)
                                        .ColumnResizeHandleWidth(10)
                                        .Resizable(resize => resize.Columns(true))
                                        .Reorderable(reorder => reorder.Columns(true))
                                        .HtmlAttributes(new { @class = "custom-kendo-grid custom-kendo-grid-inv" })
                                        .DataSource(dataSource => dataSource
                                        .Ajax()
                                        .ServerOperation(true)
                                        .PageSize(25)
                                                            .Read(read => read.Action("InventoryImage_Read", "Inventory").Data("function onCountryAdditonalData(){ return {subwayProductCode: $('#SubwayProductCode').val()};}"))
                                        )

                    )

                </div>

【问题讨论】:

  • 也许你可以显示一些代码?
  • @RaniRadcliff 代码已添加。请参见上文

标签: asp.net-mvc twitter-bootstrap popup kendo-grid


【解决方案1】:

使用 MVC,您必须在数据源中添加以下内容:

type: 'aspnetmvc-ajax'

过滤器和排序不为空。此外,MVC 控制器中的 Action 方法必须设置如下参数:

public async Task<ActionResult> InventoryImage_Read([DataSourceRequest] DataSourceRequest )

您没有发布您的 MVC 控制器操作,所以我不确定您是否正确设置了该部分。我希望这会有所帮助。

【讨论】:

  • 在弹出窗口中,我无法在剑道过滤框中输入任何内容
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-14
  • 2016-04-12
  • 1970-01-01
  • 2018-06-13
  • 2021-09-16
  • 2015-12-03
相关资源
最近更新 更多