0

正如标题所示,我正在尝试解析中继器内的本地化字符串。我有一个所见即所得的编辑器在文档类型的表单选项卡上输入一些 html,所以源代码看起来像这样

Field1: "<a href="test.aspx" title="test">{$localstring$}</a>"

然后在转型中我有

<li><%# Eval("Field1") %></li>

这将字符串输出为

  • {$本地字符串$}

并且不会将其解析为宏并在 UI 文化本地化中查找本地字符串。

我尝试了不同的东西,包括

<%# Eval(CMS.GlobalHelper.ResHelper.LocalizeString("Field1")) %>

<%# Eval(CMS.CMSHelper.CMSContext.CurrentResolver.ResolveMacros("Field1")) %>

所有这些都给出相同的输出,有人能指出我正确的方向吗?我确信这是调用 Eval 的方式。

提前致谢。

4

2 回答 2

2

万一有人搜索这个:如果你想custom.my-string在 ASPX 转换中使用本地化字符串,你应该按如下方式解决它:

<%# CMS.CMSHelper.CMSContext.CurrentResolver.ResolveMacros("{$custom.my-string$}") %>

注意:没有空格!如果您添加这样的空格:“{$ custom.my-string $}” - 它将不起作用

于 2014-03-14T07:09:46.130 回答
1

正确的语法如下:

<%# CMS.CMSHelper.CMSContext.CurrentResolver.ResolveMacros(Eval("Field1").ToString()) %>
于 2013-10-15T09:04:48.780 回答