0

다른 검도 인 세부 그리드가있는 검도 그리드가있는 주요 검도 cshtml 뷰가있는 경우 다른 격자 인 세부 정보가 있으면 잘못된 템플릿 오류가 발생합니다. 다음 예제는 간략화를 위해 '.......'로 대체 된 코드를 필수적이지 않은 코드로 표시합니다 (표시되지 않지만 데이터 소스는 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)에 있어야한다는 것입니다 ml)를 실제로 참조한 부분보기가 아닌. 이 변경에 따라 조정 된 코드는 다음과 같습니다.

파일 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() 
)