3

文字控制一直有效

<asp:Literal ID="Literal7" runat="server" 
    Text="<%$ Resources:ErrorMessages, errorCompanyNotFound %>" />

但是,如果我想将其用作图像中的参数,例如

<img src="blahblah" alt="" 
    title"<%$ Resources:ErrorMessages, errorCompanyNotFound %>" />

它给出了令人讨厌的错误

不允许使用像 '' 这样的文字表达式。改为使用。

如果我尝试通过Javascript访问它,也会发生同样的情况

var noHit = '<%$ Resources:ErrorMessages, errorCompanyNotFound %>';

有谁知道在这种情况下如何获取全局资源值?

4

2 回答 2

3

我能找到正确工作的唯一方法是使用公共方法而不是<%$调用。

在我后面的代码中:

public string GetResource(string ResourceName, string ResourceKey)
{
    string r = HttpContext.GetGlobalResourceObject(ResourceName, ResourceKey) as string;
    if (r == null)
        return ResourceKey;
    return r;
}

然后就像调用它一样简单:

<img src="blahblah" alt="" 
    title"<%= GetResource("ErrorMessages", "errorCompanyNotFound") %>" />

var noHit = '<%= GetResource("ErrorMessages", "errorCompanyNotFound") %>';

我希望这可以帮助像我这样的人:)

于 2010-06-10T12:34:23.630 回答
0

对于 html 控件,而不是 MS 控件,asp:Label您需要添加runat="server"才能访问资源值。

<input type="button" class="btn btn-xs" runat="server" value="<%$ Resources:GlobalResources, resMyValue %>">
于 2021-03-23T18:37:20.560 回答