2012-09-24 42 views
1

我有KendoUI網格實現,如下圖所示,它將數據拉入並顯示在網格中,但是在創建或更新它時無法正常工作,因爲它始終使Get請求到服務器,Kendo UI MVC Grid - 總是會獲得請求,甚至創建項目

控制器方法標記爲創建和更新後 - [AcceptVerbs(HttpVerbs.Post)] 是否有任何我們可以從客戶端代碼指定Http方法?

也有一個與排序以及一個同樣的問題,樣品演示的應用程序,劍道UI顯示一切都讓Post方法,但這種人讓讓,所以它不通過整理相關對象控制器的方法正確

@(Html.Kendo().Grid<Model.Storage>()  
.Name("Grid")  
.Columns(columns => {   
    columns.Bound(p => p.Id); 
    columns.Bound(p => p.Name); 
    columns.Bound(p => p.Path); 
    columns.Bound(p => p.Default); 
    columns.Command(command => { command.Edit(); }); 
}) 
.ToolBar(toolbar => toolbar.Create()) 
.Editable(editable => editable.Mode(GridEditMode.InLine)) 
.Pageable() 
.Sortable() 
.Scrollable() 
.DataSource(dataSource => dataSource   
    .Ajax()     
    .Events(events => events.Error("error_handler")) 
    .Model(model => model.Id(p => p.Id)) 
    .Create(update => update.Action("EditingInline_Create", "Storage")) 
     .Read(read => read.Action("EditingInline_Read", "Storage")) 
     .Update(update => update.Action("EditingInline_Update", "Storage")) 
) 
) 

對此的幫助將非常感激..!

回答

1

確保你沒有使用jQuery 1.8,我的控件有類似的問題,並且它是1.8的兼容性問題。

1

是的,你可以從客戶端代碼中指定HttpMethod。將您的DataSource方法更改爲如下所示:

.Create(update => update.Action("EditingInline_Create", "Storage").Type(HttpVerbs.Post)) 
.Read(read => read.Action("EditingInline_Read", "Storage").Type(HttpVerbs.Post)) 
.Update(update => update.Action("EditingInline_Update", "Storage").Type(HttpVerbs.Post)) 

HTH!