在ASP.NET MVC中公开资源字符串到JavaScript文件的最佳方式?
发布时间:2020-12-15 23:24:51 所属栏目:asp.Net 来源:网络整理
导读:在Razor视图中使用资源字符串(.resx)很容易,但是如何在 JavaScript文件中执行?目前,我手动将字符串从Razor视图传递给JavaScript构造函数参数中的脚本,但我想要一种更自动的方法,所以我不必传递我需要的每个资源字符串. 解决方法 我使用的解决方案是使用Razo
在Razor视图中使用资源字符串(.resx)很容易,但是如何在
JavaScript文件中执行?目前,我手动将字符串从Razor视图传递给JavaScript构造函数参数中的脚本,但我想要一种更自动的方法,所以我不必传递我需要的每个资源字符串.
解决方法
我使用的解决方案是使用Razor创建一个json对象,该对象包含给定应用程序区域的所有资源字符串,例如“Customers”.像这样:
<script type="text/jscript"> @{ ResourceSet resourceSet = JsCustomersRes.ResourceManager.GetResourceSet(CultureInfo.CurrentUICulture,true,true); var sbInitial = " var CustomersResourceObj = {"; var sb = new StringBuilder(sbInitial); var resEnum = resourceSet.GetEnumerator(); while (resEnum.MoveNext()) { if (sb.ToString() != sbInitial) { sb.Append(","); } sb.Append(""" + resEnum.Key + "":"" + resEnum.Value.ToString().Replace("rn","").Replace(""",""") + """); } sb.Append("}"); } @(Html.Raw( sb.ToString())); 资源文件“JsCustomersRes”可以与特定的控制器视图目录一起放置在共享视图目录中. 然后,您可以从脚本中的json对象获取资源字符串: var resString = CustomersResourceObj[key]; 其中“key”是您想要的资源字符串的关键字符串.只需将剃须刀作为部分视图添加到布局页面或单独的页面,就可以了,就是这样! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读