2013-10-29 40 views
0

有將簡化代碼,類似我自己的問題desription: 我有這個模型類:劍道DatasourceRequest具有空值

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)爲null。

JFI - 我在其他情況下以同樣的方式使用網格,它的工作原理是正確的。

在我看來這種情況下有什麼問題 - 網格列綁定在數組中的項目上。不在模型類的一些簡單屬性上。還有更多的問題,我還沒有解決。

DataSourceRequest問題是最後一個問題。沒有它,我不能實現分頁,排序,過濾和其他功能,這通常是關於一個關鍵字在控制器上的視圖和siple代碼。

有什麼辦法如何在客戶端使用它?

PS: 控制器方法。但是在控制器上,傳入的DataSourceRequest包含描述的空數據。

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

你確定加載了aspnetmvc腳本嗎?另外控制器是怎麼樣的? –

+0

是的,我確定。在控制器上只是有問題的傳入數據。我只是爲了信息添加它,但沒有什麼有趣的 - 就像基本的例子一樣。問題在於數據不存在於後期,所以它們在控制器上不能正確。 似乎真正的問題是如何在後期在劍道,如何owerloaded排序,篩選等請求。 –

+0

obsolate。而錯誤的問題,錯誤是在別的地方。 –

回答

0

爲了解決DataSourceRequest: 我有同樣的問題,但我改變了kendo.web.min.jskendo.all.min.js和問題就解決了。

0

我面臨同樣的問題。我解決了這個問題,增加了kendo.aspnetmvc.min.js 有了這個js文件請求可以打Httppost方法。沒有httpget方法