不确定如何标记此问题的标题。我有一个可重复使用的内容片段,带有订阅图标+社交图标。此代码段通过转发器几乎用于网站的每个页面。
我想要做的是将CurrentDocument.DocumentName附加到订阅图标,以便知道人们来自哪个页面,如下所示:
<a href="/subscribe?p={% CurrentDocument.DocumentName #%}">Subscribe</a>
然而,看起来这样不起作用。单击链接时,此字符串显示在地址栏中:www.domain.com/subscribe?p={%%20CurrentDocument.DocumentNamePath%20|(user)|(hash)34ce5eaa55a6a6ad89...%}
我认为因为CurrentDocument实际上是指片段本身,而不是浏览器中显示的真实当前页面。你能帮忙吗?
答案 0 :(得分:0)
你的转发器转换是aspx吗?如果是,请使用<%# %>
,<%# CurrentDocument.DocumentName %>
答案 1 :(得分:0)
如果这是ASCX转换,它就像一个Web用户控件,所以你可以调用C#方法,试试这个
<%# CMS.MacroEngine.MacroResolver.Resolve("{%CurrentDocument.DocumentName#%}")%>
或者你可以在ACSX转型中做到这一点:
<script runat="server">
string test = "";
protected override void OnInit(EventArgs e)
{
test = CMS.MacroEngine.MacroResolver.Resolve("{%CurrentDocument.DocumentName#%}");
}
</script>
<h1><%# test%></h1>
了解其他方法的MacroResolver class
P.S。对不起,我没有在肯伊特科检查我的答案。只需确保从正确的名称空间调用MacroResolver。