javascript - 如何从 .resx 文件获取字符串到 .js 文件

标签 javascript asp.net resx app-globalresources

<分区>

我想用两种不同的语言显示警告消息。 我正在使用 asp.net App_GlobalResources。我可以在我的 script.js 文件中使用它吗?

最佳答案

您不能从 javascript 文件直接调用 RESX 文件中的资源。

但是,您可以创建一个局部 View (如果您使用的是 MVC),您可以从中访问所有这些资源。此后,您可以将该部分包含在您的页面中。

例如,你可以做一个部分,你会:

<script>

var Resources = {

  Name: '@Resources.tags.Name',
  Surname: '@Resources.tags.Surname',

};

</script>

在此之后,您可以将此页面包含在您需要的页面中,并通过以下方式从 javascript 访问这些资源:

Resources.Name

如果您没有使用 MVC,请让我知道如何在 ASP.NET 中完成它。

如有疑问,请说。

对于 WebForms

如果您使用 WebForms,您可以使用用户控件,在其中配置要在页面中注入(inject)的 javascript。

此后,将该用户控件包含在您的页面中(最好是母版,以便在您的所有网站上都可用),您将能够访问它。

用户控件看起来像这样:

public partial class resources : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {
        LiteralControl jsResource = new LiteralControl();
        jsResource.Text = "<script type=\"text/javascript\">";

        jsResource.Text += "var Resources = {";

        jsResource.Text += "Name: '" + Resources.Resource.Name + "',";
        jsResource.Text += "Surname: '" + Resources.Resource.Surname + "',";
        jsResource.Text += "};";

        jsResource.Text += "</script>";
        Page.Header.Controls.Add(jsResource);

    }
}

然后您将在您的页面中包含该控件:

<uc1:resources runat="server" ID="resources" />

您可以通过这样做简单地访问您的 javascript:

<script>
    alert(Resources.Name);
    alert(Resources.Surname);
</script>

关于javascript - 如何从 .resx 文件获取字符串到 .js 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26522133/

相关文章:

javascript - 如果浏览器,使用 Javascript?

javascript - react : what are use cases when we need React. child api

javascript - jquery链和无jquery链的区别

c# - 如果 web.config 丢失或损坏,防止 YSOD?

c# - 如何从resx中的ImageListStreamer中获取图像文件?

javascript - knockout 字符串格式模式

asp.net - HTML.DropDownListFor 类分配

javascript - 如何从代码隐藏中更改页面的缩放级别?

visual-studio - 从 VS 项目中删除资源图像的正确方法是什么?

.net - 是否可以在 .resx 资源文件中定义字符串数组?