3

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

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

使用以下语法有哪些优点和缺点?

lblMessage.Text = Resources.resxFile.message;

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

4

1 回答 1

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

于 2010-07-13T16:26:24.117 回答