从javascript或代码隐藏获取资源对象

时间:2011-08-16 18:57:04

标签: c# javascript asp.net localization

有没有办法获取在javascript或代码隐藏中分配给控件的资源键?说我在页面上有这个标签:

<asp:Label runat="server" ID="Label1" meta:resourcekey="Label1Resource1" />

然后在代码隐藏中我添加了这个:

Label1.Attributes.Add("onclick", "InspectMe(this);");

最后是Javascript:

<script language="javascript" type="text/javascript">
        function InspectMe(ctl) {
            // how do I get the resourcekey?
            alert(ctl);
        }
</script>

所以点击JS有控件,但有没有办法读取资源键?请注意,我不想要实际的资源字符串(文本),我希望它返回“Label1Resource1”。

或者,代码隐藏解决方案也可以。我的第一直觉是转向GetLocalResourceObject,但我看不到从控件获取密钥名称的方法。

1 个答案:

答案 0 :(得分:0)

最简单的方法是从实际的ASP.Net页面简单地写下脚本:

<script language="javascript" type="text/javascript">
        function InspectMe(ctl) {
            var message = '<asp:Literal id="someUniqueId" meta:resourcekey="someKey" />';
            alert(ctl);
        }
</script>

您可能还会考虑使用Globalize库的localize()函数,这是更加结构化的方式 - 您必须以某种方式编写消息数组。

最后,您可以创建自己的Handler,为您编写本地化的客户端脚本...此方法也可以与Globalize一起使用。

选择取决于您想要实现的目标以及项目的规模。对于大型项目,Localization Handler和Globalize库的组合可能是最佳选择。