我想在MVC中的一个kendo窗口中填充一个kendo网格,并且无法找到错误。窗口被创建,网格在窗口内被创建...但是DataSource的Read方法从不被调用。Kendo在一个窗口内的MVC网格数据源阅读
窗口:
@{
Html.Kendo().Window()
.Name("DListing")
.Title("Listing")
.Draggable()
.Resizable()
.Width(1000)
.Height(500)
.Visible(true)
.Modal(true)
.Actions(actions => actions
.Maximize()
.Close())
.LoadContentFrom("Dispatch", "Listing", new { Number = @ViewBag.Number })
.Render();}
上市控制器的调度方法返回包含该网格的局部视图。
网:
@(Html.Kendo().Grid(Model)
.Name("Grid")
.Events(events => events.Change("onChange"))
.HtmlAttributes(new { style = "height:400px;" })
.Columns(columns =>
{
columns.Bound(p => p.Number);
columns.Bound(p => p.DateTime).Format("{0:MM/dd/yyyy hh:mm tt}");
columns.Bound(p => p.Location);
columns.Bound(p => p.Name);
columns.Bound(p => p.Elapsed_Hours);
})
.Groupable()
.Pageable(pageable => pageable
.Numeric(false)
.Input(true)
.PageSizes(new[] { 5, 10, 25 }))
.Sortable()
.Scrollable(scrollable => scrollable
.Virtual(true))
.Filterable()
.Selectable(selectable => selectable
.Mode(GridSelectionMode.Multiple))
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(13)
.Sort(sort => { sort.Add(p => p.DateTime).Descending(); })
.Model(model => { model.Id(p => p.Number); })
.Read(read => read.Action("Listing_Read", "Listing", new { Number = @ViewBag.Number })))
)
Listing_Read方法:
public ActionResult Listing_Read([DataSourceRequest] DataSourceRequest request, int Number)
{
return Json(GetListing(branchNumber).ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
}
此外,应该指出的是,我的经历并验证viewbag数据可用于两个窗口,并稍后在格。
对于更多的背景信息,我最初在自己的页面上有网格,并且它能够调用读取方法并使用没有问题的数据填充。在将它移动到窗口中之后是当这成为问题时。
监控http请求,网格永远不会尝试调用read方法(所以请求不失败)。我尝试手动刷新数据源后窗口加载可能会强制进行调用,但也不会调用读取方法。
我一直抓挠就这一个了几个小时我的头现在尝试不同的东西,希望有人能发现问题是什么:)
你有没有得到这个工作?我遇到了完全相同的问题。 – tg2