2011-01-12 10 views
1

私は植物のリストを持っています。私はこれをすべてのPlantsのテーブルに出力し、Telerik.Gridを使ってPlantを展開し、Telerik.Gridに関連するプロジェクトを表示します。プロジェクトにAjaxを動的にロードしたい。グリッドのTelerik MVCグリッドは詳細テーブル(サブテーブル)にデータをロードしません

コード:

@(Html.Telerik().Grid<PlantDto>() 
    .Name("Plants") 
    .Columns(columns => 
    { 
     columns.Bound(plant => plant.Title); 
    }) 
    .DetailView(details => details.ClientTemplate(
    Html.Telerik().Grid<ProjectDto>() 
    .Name("Plant_<#= Id #>") 
    .DataBinding(dataBinding => dataBinding.Ajax() 
      .Select("ProjectsForPlant", "User", new { plantId = "<#= Id #>" })) 
     .ToHtmlString() 
)) 
    .DataBinding(dataBinding => dataBinding.Ajax().Select("PlantsForUser", "User")) 
) 

初期データがうまくグリッド(植物のリスト)にロードされますが、私は工場を展開するとき、私はちょうど空のサブテーブルを取得します。

FireBugを見ると、サーバーへの呼び出しはありません。プロジェクトのリストを提供するコントローラは決して呼び出されません。

誰でも可能性について考えていますか?

更新:問題を引き起こしていたように見えるのは、plant.idに「$」が入っていたようです。 "PCD $ ODIN"のように。 JavaScriptのためにそれが困難な生活をしたように見えます。

答えて

1

あなたの設定をhereと比較したところ、同じに見えました。この選択方法かどうかをテスト:

.Select("ProjectsForPlant", "User", new { plantId = "<#= Id #>" })) 

が正しく植物IDを設定し、すなわち、代わりにplantIdのIdフィールドとまったく同じ、それに名前を付ける必要がある場合:

.Select("ProjectsForPlant", "User", new { Id = "<#= Id #>" })) 
+0

あなたはどこ私ができる知っていますか結果のHTMLでそれを確認しますか?データをロードするためのajax呼び出しは決して行われません。 – henriksen

関連する問題