我知道我可以使用以下语法设置标签的文本。
lblMessage.Text = (string)GetGlobalResourceObject("resxFile", "message");
使用以下语法有哪些优点和缺点?
lblMessage.Text = Resources.resxFile.message;
第二种方法不适用于本地资源文件。本地资源文件有不同的语法吗?
我知道我可以使用以下语法设置标签的文本。
lblMessage.Text = (string)GetGlobalResourceObject("resxFile", "message");
使用以下语法有哪些优点和缺点?
lblMessage.Text = Resources.resxFile.message;
第二种方法不适用于本地资源文件。本地资源文件有不同的语法吗?
第二种方式看起来更好,因为它是强类型的。如果您更改了资源文件名或资源值名称,则会出现编译错误。如果您需要动态获取资源,那么您必须使用第一种方式,否则使用 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