ASP.NET:以编程方式访问全局资源的两种方法

时间:2010-07-08 16:21:34

标签: asp.net resource-files

我知道我可以使用以下语法设置Label的文本。

lblMessage.Text = (string)GetGlobalResourceObject("resxFile", "message");

使用以下语法有什么好处和缺点?

lblMessage.Text = Resources.resxFile.message;

第二种方法不适用于本地资源文件。本地资源文件有不同的语法吗?

1 个答案:

答案 0 :(得分:2)

第二种方式看起来更好,因为它是强类型的。如果您更改了资源文件名或资源值名称,那么您将收到编译错误。如果你需要动态获取资源,那么你必须以第一种方式进行,否则使用switch语句或类似的东西。

如果您使用的是asp.net 2.0或更高版本,实际上只有第三种方法可以使用标记来设置标签:

<asp:Label ID="Label1" runat="server" Text="<%$ Resources:resxFile,message %>" />

有点与本地化有关:http://quickstarts.asp.net/QuickStartv20/aspnet/doc/localization/localization.aspx