有没有办法获取在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,但我看不到从控件获取密钥名称的方法。
答案 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库的组合可能是最佳选择。