2011-12-21 116 views
-1

按照Telerik Mvc Grid Demo中爲插入和編輯所設定的模式,所有事情都運行起來,直到控制器方法返回。Telerik MVC Grid Rebind崩潰

參見:http://demos.telerik.com/aspnet-mvc/razor/Grid/EditingAjax?theme=vista

的方法調用到我的倉庫功能,這成功地更新數據庫;但是,如下圖所示在演示返回代碼

[AcceptVerbs(HttpVerbs.Post)]   
[CultureAwareAction]   
[GridAction]   
public ActionResult _InsertAjaxEditing() 
{ 
    EditableProduct product = new EditableProduct();    
    if (TryUpdateModel(product)) { 
     SessionProductRepository.Insert(product); 
    }    
    return View(new GridModel(SessionProductRepository.All()));   
} 

一切正常,直到回線,所以我嘗試:

  1. 返回查看(新GridModel(myTypeRepository.All);
  2. 返回查看(新GridModel(myTypeRepository.All.ToList());
  3. 返回查看(新GridModel(myTypeRepository.All.ToArray());
  4. 返回查看(新GridModel(myTypeRepository.All);
  5. return View(new GridModel(myTypeRepository.All.ToList());
  6. 返回查看(新GridModel(myTypeRepository.All.ToArray());
  7. 返回查看(GridModel(myTypeRepository.All))
  8. 返回查看(GridModel(myTypeRepository.All.ToList()))
  9. 返回查看(GridModel(myTypeRepository.All.ToArray()))

所有這一切都導致了無法跟隨,因爲它指向Telerik的文件例外:GridActionAttribute.cs

現在因爲它發生在t他結束的方法,我不能確定它是返回的聲明或html.Telerik.Grid。然而,正如我所說我遵循演示模式:

@(Html.Telerik().Grid<BerettaFarms.Models.FoodKind>() 
    .Name("myName") 
    .ToolBar(commands => commands.Insert()) 
    .DataKeys(keys => keys.Add(c => c.myTypeId)) 
    .DataBinding(dataBinding => { 
     dataBinding.Ajax() 
      .Select("SelectAjaxEditing", "myController") 
      .Insert("InsertAjaxEditing", "myController") 
      .Update("SaveAjaxEditing", "myController") 
      .Delete("DeleteAjaxEditing", "myController"); 
    })  
    .Columns(columns => {    
     columns.Bound(o => o.Name).Width(200);    
     columns.Bound(o => o.Description).Width(400); 
     columns.Command(commands => { 
      commands.Edit(); 
      commands.Delete(); 
     }).Width(200); 
    }) 
    .DataBinding(dataBinding => dataBinding.Ajax().Select("AjaxIndex", "myController")) 
    .Editable(editing => editing.Mode(GridEditMode.InLine))    
    .Sortable() 
    .Scrollable(h => h.Height("700px"))  
    .Groupable()   
    .Filterable() 
) 

所以,如果有人知道爲什麼rebind失敗?或者,如果它是由於別的原因,請讓我知道。

回答

0

事實證明,這是與工具相關的問題之一,而不是實質性問題。當你刪除這個方法中的所有斷點,並讓代碼運行時,它按預期工作。不知何故,當處於調試模式時,設置了斷點,它會引發錯誤並暫停應用程序。