2011-11-02 57 views
1

我有以下標記。在一次調用中Ajax綁定Telerik MVC GridView與DetailView

@(Html.Telerik().Grid(Model) 
     .Name("Grid") 
     .DataKeys(keys => keys.Add(key => key.Id)) 
     .Columns(columns => 
         { 
          columns.Bound(c => c.FullNameWithEmail).ClientTemplate("<#= FullNameWithEmail #>").Title("Name and Email").Width(230); 
          columns.Bound(c => c.Notes); 
         }) 
     .ClientEvents(events => events.OnRowDataBound("grid_onRowDataBound")) 
     .DetailView(checkInAppGridDetails => checkInAppGridDetails.ClientTemplate("<# if (RelatedCount > 0) { #>" + 

       Html.Telerik().Grid<ViewModel>() 
             .Name("GridDetails_<#= Id #>") 
             .Footer(false) 
             .Columns(columns => 
             { 
              columns.Bound(c => c.FullNameWithEmail).ClientTemplate("<#= FullNameWithEmail #>").Title("Name and Email").Width(225); 
              columns.Bound(c => c.Notes); 
              columns.Bound(c => c.Actions).ClientTemplate("<#= Actions #>").Width(150); 
             }) 
             .ClientEvents(events => events.OnRowDataBound("GridDetails_onRowDataBound")) 
             .DataBinding(dataBinding => dataBinding.Ajax() 
              .Select("GetRelated", "Controller", new 
              { 
               id = @ViewBag.EventKey, 
               ticketId = "<#= Id #>" 
              })) 
             .ToHtmlString() + 
       "<# } #>" 
     )) 
) 

我在這裏是我結合使用Ajax調用主電網,而一旦行得到了綁定的細節視圖獲取與數據綁定Ajax調用約束。

我已經在模型中的相關記錄的集合,我想在DetailView中顯示,我不希望額外的電話到服務器。

這裏是視圖模型

public class ViewModel 
{ 
    public string FirstProperty {get; set;} 
    . 
    . 
    . 
    public IEnumurable<ViewModel> RelatedRecords { get; set; } 
} 

不知道如何用的DetailView全網只有一個Ajax請求綁定的例子嗎?

回答

0

剛剛使用telerik支持的例子來解決這個問題,它工作得很好。 Telerik Post