Kentico 中继器中的内联小部件

Inline Widgets in 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>

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

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

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