【问题标题】:ASP.NET: two ways to access global resource programmaticallyASP.NET:以编程方式访问全局资源的两种方式
【发布时间】:2010-07-08 16:21:34
【问题描述】:

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

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

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

lblMessage.Text = Resources.resxFile.message;

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

【问题讨论】:

  • 请注意,第二种访问资源文件的方法仅在您不打算本地化时才有效,因此将其命名为“Resources.TextResources.resx”而不是“Resources.TextResources.en.resx”

标签: asp.net resource-files


【解决方案1】:

第二种方式看起来更好,因为它是强类型的。如果您更改了资源文件名或资源值名称,则会出现编译错误。如果您需要动态获取资源,则必须使用第一种方式,否则使用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-20
    • 1970-01-01
    • 1970-01-01
    • 2018-10-08
    • 2016-10-24
    • 2013-06-07
    • 2015-08-15
    • 1970-01-01
    相关资源
    最近更新 更多