我们如何从Javascript访问umbraco字典项的值

时间:2015-01-22 11:29:38

标签: umbraco umbraco6 umbraco5 umbraco-blog umbraco-contour

我们可以从JavaScript访问Umbraco Dictionary项目值吗?

因为我正在使用Umbraco 6.0.5

3 个答案:

答案 0 :(得分:2)

不,你不能开箱即用。

我必须多次执行此操作,而我提出的最佳方法是在页面加载时将所有字典项打印为对象(在<head>或其他内容中)。仅诅咒当前语言的项目。

所以在你的来源中你有

<script>
    var dic = {"quantity":"Quantity","totalPrice":"Total price","securePayment":"Secure payment"};
</script>

然后得到是

window.dic["quantity"]

答案 1 :(得分:1)

据我所知,你不能开箱即用 - 但实际上并未尝试过。

我首先在我的网站上创建一个简单的休息服务,它使用querystring参数作为别名值返回Umbraco字典项

var alias = HttpContext.Current.Request.QueryString["alias"]
if(alias != null)
{
    var dictionaryItem = umbraco.GetDictionaryItem(alias) 
    ...
}  

然后通过javascript调用您自己的网络服务以获取值

答案 2 :(得分:0)

我所做的是使用Javascript声明变量

<script type="text/javascript">    
    var UmbracoDicKeyValue = '<%= kraftvaerk.umbraco.Translations.translate("Umbraco_Dic_Key", lang) %>';
</script>

用于从服务器端设置lang变量的值。

protected string lang = (!String.IsNullOrEmpty(umbraco.library.Session("lang")) ? umbraco.library.Session("lang") : "en-GB");
umbraco.library.setSession("lang", lang);

现在在javascript代码中使用变量UmbracoDicKeyValue。