我知道我可以使用以下语法设置Label的文本。
lblMessage.Text = (string)GetGlobalResourceObject("resxFile", "message");
使用以下语法有什么好处和缺点?
lblMessage.Text = Resources.resxFile.message;
第二种方法不适用于本地资源文件。本地资源文件有不同的语法吗?
答案 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