2017-02-08 15 views
2

페이지의 콘텐츠 필드를 평가하는 리피터가 있습니다. 이 콘텐츠에는 인라인 위젯이 포함될 수 있습니다.Kentico Repeater의 인라인 위젯

이제 일반적으로 EnableViewState="false"이라는 자리 표시 자에 Eval("Content")을 넣은 다음 코드에서 동적으로 해결하지만 문제는 반복기가 유효하지 않게 렌더링하는 자리 표시 자의 ID를 반복한다는 것입니다.

어딘가에 있습니까?

<cms:CMSUniView ID="MainNavMenu" runat="server" > 
      <HeaderTemplate> 
       <ul> 
       <li> 
      </HeaderTemplate> 
      <ItemTemplate> 
       <a href="<%# Eval("Link") %>" 
        title="<%# HTMLHelper.HTMLEncode(Convert.ToString(Eval("DocumentName"))) %>" > 
        <%# HTMLHelper.HTMLEncode(Convert.ToString(Eval("DocumentName"))) %> 
       </a> 
       <%# Eval("Content") %> 
      </ItemTemplate> 
      <SeparatorTemplate> 
       </li> 
       <li> 
      </SeparatorTemplate> 
      <FooterTemplate> 
       </li> 
       </ul> 
      </FooterTemplate> 
     </cms:CMSUniView> 

답변

2

CMS.MacroEngine.MacroResolver.Resolve() 메서드를 사용하여 콘텐츠를 해결할 수 있습니다. 그래서 코드는 다음과 같이 표시됩니다

<%# MacroResolver.Resolve(Eval("Content").ToString()) %> 

그리고 당신은 리피터 템플릿 내부의 모든 컨트롤을 찾으려면, 당신이하여 ItemDataBound 이벤트를해야 할 것 같아요. Example