如何从ASP.net页面访问主题中的本地资源?

时间:2009-02-16 12:23:12

标签: asp.net resources themes

我有一个资源文件放在App_LocalResources文件夹里面 App_Themes中的主题文件夹,如下所示:\ App_Themes \ Theme1 \ App_LocalResources \ Resources1.aspx.resx

我如何从项目中的Web表单访问此文件中的资源,假设Web表单名为Resources1.aspx,其主题为=“Theme1”?

2 个答案:

答案 0 :(得分:1)

您可以使用“Resources”表达式从资源文件中提取值,例如:

<h1><%$ Resources: H1 %></h1>

或者,特别是如果你在代码隐藏中,请使用GetLocalResourceObject:

h1.InnerText = GetLocalResourceObject ( "H1" ).ToString ( );
编辑:有时我回答太快;我不认为主题在这个意义上是可本地化的,但是有一些解决方法。您可以在资源文件中包含特定于主题的项目,并根据当前主题访问它们。

答案 1 :(得分:1)

您可以使用;

访问位于\ App_GlobalResources \ Generic.resx中的globalresources
<%= Resources.Generic.Cancel %>

本地资源驻留在App_LocalResources文件夹中,该文件夹不一定必须放在根文件夹中。对于本地资源,它将是;

<%$ Resources:Cancel%>

string labelCancel = GetLocalResourceObject("Cancel").ToString();

将资源文件放在主题文件夹中;我将主题和资源分开,并通过使用globalresources以编程方式在站点主/基页中的各种资源之间切换。