我们正在构建大型 ASP.NET 应用程序,供内部网在多种语言/文化中使用。我们利用 RESX 文件的全局化,并在服务器端使用 GetResourceText 来获取本地化文本。
最近我们使用 JQuery 处理越来越多的客户端逻辑。
如何获取要在 Javascript 中使用的 RESX 文本?
- 例如用于验证的文本、动态消息等。
我们所有的 Javascript 都在 .JS 文件中,我们不想在 ASPX 页面和 Javascript block 中混合 HTML。
感谢您的帮助。
最佳答案
不幸的是,在外部 JS 文件中,服务器端代码没有被服务器处理。然而,我看到了一种解决方法,您可以在页面的隐藏字段中设置翻译后的值 - 这样您的 javascript 就可以读取其中的值。
例如:
<%-- This goes into your page --%>
<input type="hidden" id="translatedField" name="translatedField" value="<%=Resources.Resources.translatedText %>" />
并在您的 javascript 文件中使用它:
// This is the js file
$(document).ready(function() {
alert($("#translatedField").attr("value"));
});
您将能够分离这些值并仍然在您的外部 JS 文件中看到它。
还有另一种解决方法,即创建一个仅输出 Javascript 而不是 HTML 的 .aspx 文件。查看下面的链接:
关于javascript - 如何从 Resx 中获取要在 Javascript 中使用的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6465844/