Kentico中继器中的内联小部件

时间:2017-02-08 11:55:10

标签: asp.net kentico ascx

我有一个转发器,用于评估页面中的内容字段。此内容可能包含内嵌小部件:

现在,通常我会将Eval("Content")包装在EnableViewState="false"的占位符中,然后在后面的代码中动态解析它,但问题是转发器会重复占位符的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>

1 个答案:

答案 0 :(得分:2)

您可以尝试使用CMS.MacroEngine.MacroResolver.Resolve()方法解析内容。所以你的代码看起来像:

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

如果你想在转发器模板中找到任何控件,我想你应该在ItemDataBound事件上做。 Example