我有一个转发器,用于评估页面中的内容字段。此内容可能包含内嵌小部件:
现在,通常我会将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>
答案 0 :(得分:2)
您可以尝试使用CMS.MacroEngine.MacroResolver.Resolve()
方法解析内容。所以你的代码看起来像:
<%# MacroResolver.Resolve(Eval("Content").ToString()) %>
如果你想在转发器模板中找到任何控件,我想你应该在ItemDataBound事件上做。 Example