正如标题所暗示的那样,我正在尝试解决转发器内的本地化字符串。我有一个wysiwyg编辑器在文档类型的表单选项卡上输入一些html,所以源代码看起来像这样
Field1: "<a href="test.aspx" title="test">{$localstring$}</a>"
然后在转型中我有
<li><%# Eval("Field1") %></li>
这将字符串输出为
并且不会将其解析为宏并在UI文化本地化中查找localstring。
我尝试过不同的事情,包括
<%# Eval(CMS.GlobalHelper.ResHelper.LocalizeString("Field1")) %>
和
<%# Eval(CMS.CMSHelper.CMSContext.CurrentResolver.ResolveMacros("Field1")) %>
所有这些产生相同的输出,有人能指出我正确的方向吗?我确信这是Eval的召唤方式。
提前致谢。
答案 0 :(得分:2)
如果其他人搜索此内容:如果您想在ASPX转换中使用本地化字符串custom.my-string
,则应按如下方式解决此问题:
<%# CMS.CMSHelper.CMSContext.CurrentResolver.ResolveMacros("{$custom.my-string$}") %>
注意:没有空格!如果你添加这样的空格:&#34; {$ custom.my-string $}&#34; - 不会工作。
答案 1 :(得分:1)
正确的语法如下:
<%# CMS.CMSHelper.CMSContext.CurrentResolver.ResolveMacros(Eval("Field1").ToString()) %>