您不能从 javascript 文件直接调用 RESX 文件中的资源。
但是,您可以创建一个局部视图(如果您使用的是 MVC),您可以从中访问所有这些资源。此后,您可以将该部分内容包含在您的页面中。
例如,你可以做一个部分,你会:
<script>
var Resources = {
Name: '@Resources.tags.Name',
Surname: '@Resources.tags.Surname',
};
</script>
在此之后,您可以将此页面包含在您需要的页面中,并使用以下方法从 javascript 访问这些资源:
Resources.Name
如果您不使用 MVC,请告诉我在 ASP.NET 中寻找它应该完成的方式。
如果你有任何疑问,请说出来。
对于网络表单
如果您使用 WebForms,您可以使用用户控件,您可以在其中配置要在页面中注入的 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>