我想在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