3

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

假设 Web 表单名为 Resources1.aspx 且 Theme="Theme1",我如何从项目中的 Web 表单访问此文件中的资源?

4

2 回答 2

1

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

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

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

h1.InnerText = GetLocalResourceObject ( "H1" ).ToString ( );

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

于 2009-02-16T12:38:53.760 回答
1

您可以使用以下命令访问位于 \App_GlobalResources\Generic.resx 中的全局资源;

<%= Resources.Generic.Cancel %>

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

<%$ Resources:Cancel%>

或者

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

至于将资源文件放在主题文件夹中;我会保持我的主题和资源分开,并通过使用全局资源以编程方式在站点主页面/基本页面等中的各种资源之间切换。

于 2009-02-16T13:55:17.833 回答