javascript - 如何从 Resx 中获取要在 Javascript 中使用的文本?

标签 javascript asp.net resx

我们正在构建大型 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 文件。查看下面的链接:

Using server side method in an external JavaScript file

关于javascript - 如何从 Resx 中获取要在 Javascript 中使用的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6465844/

相关文章:

c# - resx 文件未部署

winforms - 获取 WinForms 应用程序以应用另一个类库中存在的用户控件中的本地化集

C# resx 文件错误

c# - asp.net 4.6 MVC 5 的 future

javascript - 为什么这是错误的? (将 "this"与 jQuery 一起使用)

javascript - 尝试执行 google Apps 脚本时的错误值

javascript - React/Redux - 在渲染之前调整状态是否安全

Javascript 函数从网页查找电子邮件地址

asp.net - 如何从 Tag Helper 访问 Request 对象

c# - Aspx页面中的foreach循环如何添加复选框和标签