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

如何从ASP.net页面访问主题中的本地资源?,asp.net,resources,themes,Asp.net,Resources,Themes,我将一个资源文件放在App\u LocalResources文件夹中的App\u Themes中的主题文件夹中,如:\App\u Themes\Theme1\App\u LocalResources\Resources1.aspx.resx 如何从项目中的web表单访问此文件中的资源,假设web表单名为Resources1.aspx,且主题为“Theme1”?您可以使用“resources”表达式从资源文件中提取值,例如: <h1><%$ Resources: H1 %>

我将一个资源文件放在App\u LocalResources文件夹中的App\u Themes中的主题文件夹中,如:\App\u Themes\Theme1\App\u LocalResources\Resources1.aspx.resx

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

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

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

编辑:有时我回答得太快;我不认为主题在这个意义上是可本地化的,但是有一些变通方法。您可以在资源文件中包含特定于主题的项目,并根据当前主题对其进行访问。

您可以使用访问位于\App\u globalresources\Generic.resx中的globalresources

<%= Resources.Generic.Cancel %>

在主题文件夹中放置资源文件时;我会将我的主题和资源分开,并利用globalresources以编程方式在网站母版/基本页中的各种资源之间切换。

感谢Dennis的快速回复。我已经尝试了您建议的语法,但是对于主题文件夹中的resx文件,即使页面被分配了该主题,这似乎也不起作用。还有其他建议吗?我认为你不能有一个特定于主题的App\u LocalResources目录。你需要将App_LocalResources放在与aspx/ascx相同的目录下,然后可能在资源文件中有与主题匹配的键,这样你就可以通过这种方式获取特定于主题的资源,如果你真的需要它们的话。奇怪的是,VS允许我右键单击主题,然后添加->添加ASP.Net文件夹->App_LocalResources。这是唯一一种可用于主题的asp.net文件夹类型。但是没有关于如何访问这个文件夹中的任何resx文件的线索…我真的不知道。但既然您告诉我了,我想可以从.skin文件中的服务器标记引用此文件中的资源。这是我的猜测,但可能无法从aspx/ascx直接访问,而只能在实际的皮肤文件中访问。谢谢您的帮助。以这种速度,我将别无选择,只能将主题与资源分开,并以编程方式选择资源文件。缺点是我将无法使用标记(
<%= Resources.Generic.Cancel %>
<%$ Resources:Cancel%>
string labelCancel = GetLocalResourceObject("Cancel").ToString();