0

剣道グリッドのメインの剣道のビューに、別のグリッドのディテールでは、無効なテンプレートエラーが発生します。下記の例は、簡略化の目的で、手元の問題には必須ではないコードを '.......'で示しています(データソースはajaxを使用したsqlです)。3レベルの剣道グリッド(メイングリッドの詳細グリッドの詳細グリッド)を行うときにテンプレートエラーが発生する

ファイル1:Index.cshtml

<div id="dvFileGroupSummaryGrid" style="width: auto;"> 
     @(Html.Kendo().Grid<OverallSummary>() 
      .Name("FileGroupSummaryGrid") 
      .Columns(columns => 
       { 
    ......... 
       } 
      .AutoBind(true) 
      .ClientDetailTemplateId("fileGroupFilesTemplate") 
    ......... 
</div> 
<script id="fileGroupFilesTemplate" type="text/kendo-tmpl"> 
    @Html.Partial("_FileGroupFilesSummary") 
</script>' 

ファイル2:_FileGroupFilesSummary.cshtml

@(Html.Kendo().TabStrip() 
    .Name("TabStrip_#=FileGroupID#") 
    .SelectedIndex(0) 
    .Items(items => 
     { 
      items.Add().Text("File Group Files Summary").Content(@<text> 
        @(Html.Kendo().Grid<FileGroupSummary>() 
         .Name("FileGroupFilesSummaryGrid_#=FileGroupID#") 
          .Columns(columns => 
           { 
           ........... 
           }) 
          ........ 
          .AutoBind(true) 
          .ClientDetailTemplateId("fileResultsTemplate") 
          .ToClientTemplate() 
          ) 
       </text> 
     ); 
    }) 
    .ToClientTemplate() 
    ) 

<script id="fileResultsTemplate" type="text/kendo-tmpl"> 
    @Html.Partial("_FileResults") 
</script> 

ファイル3:_FileResults.cshtml

@(Html.Kendo().TabStrip() 
    .Name("TabStrip_#=MonitoredFileKey#") 
    .SelectedIndex(0) 
    .Items(items => 
     { 
      items.Add().Text("File Results").Content(@<text> 
       @(Html.Kendo().Grid<MonitoredFileResults>() 
       .Name("MonitoredFileResultsGrid_#=MonitoredFileKey#") 
       .Columns(columns => 
       { 
       ........... 
       }) 
      ......... 
      .AutoBind(true) 
      .ToClientTemplate() 
      ) 
     </text> 
     ); 
    }) 
    .ToClientTemplate() 
) 

答えて

0

この問題の鍵は、判明しました第3レベルのディテールグリッドへの部分ビューの参照が最上位レベルのビューになければならない(index.csht実際にそれを参照した部分図ではなく)。この変更のために調整されたコードを以下に示します。

ファイル1 Index.cshtml

<div id="dvFileGroupSummaryGrid" style="width: auto;"> 
     @(Html.Kendo().Grid<OverallSummary>() 
      .Name("FileGroupSummaryGrid") 
      .Columns(columns => 
       { 
    ......... 
       } 
      .AutoBind(true) 
      .ClientDetailTemplateId("fileGroupFilesTemplate") 
    ......... 
</div> 
<script id="fileGroupFilesTemplate" type="text/kendo-tmpl"> 
    @Html.Partial("_FileGroupFilesSummary") 
</script>' 
<script id="fileResultsTemplate" type="text/kendo-tmpl"> 
    @Html.Partial("_FileResults") 
</script> 

ファイル2 _FileGroupFilesSummary.cshtml

@(Html.Kendo().TabStrip() 
    .Name("TabStrip_#=FileGroupID#") 
    .SelectedIndex(0) 
    .Items(items => 
     { 
      items.Add().Text("File Group Files Summary").Content(@<text> 
        @(Html.Kendo().Grid<FileGroupSummary>() 
         .Name("FileGroupFilesSummaryGrid_#=FileGroupID#") 
          .Columns(columns => 
           { 
           ........... 
           }) 
          ........ 
          .AutoBind(true) 
          .ClientDetailTemplateId("fileResultsTemplate") 
          .ToClientTemplate() 
          ) 
       </text> 
     ); 
    }) 
    .ToClientTemplate() 
    ) 

ファイル3 _FileResults.cshtml

@(Html.Kendo().TabStrip() 
    .Name("TabStrip_#=MonitoredFileKey#") 
    .SelectedIndex(0) 
    .Items(items => 
     { 
      items.Add().Text("File Results").Content(@<text> 
       @(Html.Kendo().Grid<MonitoredFileResults>() 
       .Name("MonitoredFileResultsGrid_#=MonitoredFileKey#") 
       .Columns(columns => 
       { 
       ........... 
       }) 
      ......... 
      .AutoBind(true) 
      .ToClientTemplate() 
      ) 
     </text> 
     ); 
    }) 
    .ToClientTemplate() 
) 
関連する問題