如何从Resx中获取文本以在Javascript中使用?

Pet*_*gne 17 javascript asp.net resx

我们正在构建大型ASP.NET应用程序,以便在多种语言/文化中使用Intranet.我们利用带有RESX文件的Globalization并在服务器端使用GetResourceText来获取本地化文本.

最近我们用JQuery做了越来越多的客户端逻辑.

如何在Javascript中使用RESX文本?

  • 例如用于验证的文本,动态消息等.

我们所有的Javascripts都在.JS文件中,我们不想在ASPX页面和Javascript块中混合使用HTML.

谢谢你的帮助.

Dea*_*ano 6

不幸的是,在外部JS文件中,服务器不处理服务器端代码.但是我看到了一种解决方法,您可以在页面上的隐藏字段中设置已翻译的值 - 这样您的javascript就能够读取其中的值.

例如:

 <%-- This goes into your page --%>
 <input type="hidden" id="translatedField" name="translatedField" value="<%=Resources.Resources.translatedText %>" />
Run Code Online (Sandbox Code Playgroud)

并在你的javascript文件中使用它:

 // This is the js file
 $(document).ready(function() {
  alert($("#translatedField").attr("value"));
 });
Run Code Online (Sandbox Code Playgroud)

您将能够分离值并仍然在外部JS文件中看到它.

还有另一种解决方法是创建一个仅输出Javascript而不是HTML的.aspx文件.看看下面的链接:

在外部JavaScript文件中使用服务器端方法