2012-01-27 18 views
0

私のページにはtelerikグリッドがあります。しかしそれは正しく動作しません。問題:ボタンをクリックすると、メソッド呼び出しボタンの選択を編集します。 私のグリッドビューMVC 3 + telerikグリッド

@(Html.Telerik().Grid(Model) 
    .Name("Grid") 
    .DataKeys(keys => keys.Add(c => c.CommandId)) 
     .DataBinding(dataBinding => 
      { 
       dataBinding.Server().Update("Update", "CommandEntity"); 
       dataBinding.Server().Select("Print", "CommandEntity"); 
       dataBinding.Server().Delete("Delete", "CommandEntity"); 
      }) 
    .Columns(columns => 
    { 
     columns.Bound(o => o.Date).Format("{0:dd/MM/yyyy}").Width(100); 
     columns.Bound(o => o.Number).Width(40); 
     columns.Bound(o => o.Employees).Width(240); 
     columns.Bound(o => o.DayCount).Width(40); 
     columns.Bound(o => o.Destinations).Width(220); 
     columns.Bound(o => o.ShortTarget).Width(200); 
     columns.Bound(o => o.TypeAssignment).Width(90); 
     columns.Command(commands => 
     { 
      commands.Edit().ButtonType(GridButtonType.Image); 
      commands.Delete().ButtonType(GridButtonType.Image); 
      commands.Select().ButtonType(GridButtonType.Image); 
     }).Width(100).Title("actions"); 
    }) 
    .Scrollable(scrolling => 
    { 
     scrolling.Enabled(true); 
     scrolling.Height("500px"); 
    }) 
    .Editable(editing => editing.Mode(GridEditMode.PopUp)) 
    .Sortable(sorting => sorting.Enabled(true)) 
    .Pageable(paging => 
     { 
      paging.Enabled(true); 
      paging.PageSize(15); 
     }) 
    .Filterable(filtering => filtering.Enabled(true)) 
    .Groupable(grouping => grouping.Enabled(true)) 
    .Footer(true)) 

方法:

[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult Delete(Guid id) 
    { 
     new DataManager().RemoveCommandEntity(id); 
     return RedirectToAction("Index", "CommandEntity"); 
    } 

    [AcceptVerbs(HttpVerbs.Get)] 
    public ActionResult Print(Guid id) 
    { 
     byte[] rep = Reports.ReportBuilder.CreateReport(id); 
     return File(rep, System.Net.Mime.MediaTypeNames.Application.Pdf); 
    } 


    [AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult Update(CommandEntity obj) 
    { 
     new DataManager().UpdateCommand(obj); 
     HttpContext.Session["Entities"] = null; 
     return RedirectToAction("Index", "CommandEntity"); 
    } 

は、Updateメソッドを呼び出す必要がありますが、印刷と呼ばれると呼ばれます。 Selectメソッドはありませんが、すべて正常に機能しました。 ここに何が間違っていますか?

答えて

1

私はこの問題はここにあると思う:

DataBinding(dataBinding => 
      { 
       dataBinding.Server().Update("Update", "CommandEntity"); 
       dataBinding.Server().Select("Print", "CommandEntity"); 
       dataBinding.Server().Delete("Delete", "CommandEntity"); 
      }) 

データバインディングがバインディングのAjaxやWebサービスを使用する必要があります。サーバーバインディングを使用する場合は、モデルにバインドするだけで、DataBindingメソッドをまったく使用する必要はありません。その後、

DataBinding(dataBinding => 
      { 
       dataBinding.Ajax().Update("Update", "CommandEntity"); 
       dataBinding.Ajax().Select("Print", "CommandEntity"); 
       dataBinding.Ajax().Delete("Delete", "CommandEntity"); 
      }) 

それとも、バインディング、サーバーでグリッドを移入する場合:

私はあなたにこのコードの一部を変更すべきだと思う

DataBinding(dataBinding => 
      { 
       dataBinding.Ajax().Update("Update", "CommandEntity");      
       dataBinding.Ajax().Delete("Delete", "CommandEntity"); 
      }) 
+0

は、Uに感謝します。私はAjaxへの変更です()とすべての作業..) – user571874

関連する問題