2011-08-16 6 views
2

javascriptまたはコードビハインドのコントロールに割り当てられたリソースキーを取得する方法はありますか?持っクリックJSにそうjavascriptまたはコードビハインドからリソースオブジェクトを取得

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

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

し、コードビハインドで、私はこの追加::私はページ上のこのラベルを持っていると言う

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

そして最後にJavascriptをコントロールが、リソースキーを読み取る方法はありますか?私は実際のリソース文字列(テキスト)を望んでいないことに注意してください。 "Label1Resource1"を返すようにしてください。

また、コードビハインドソリューションも機能します。私の最初の本能はGetLocalResourceObjectに向けることでしたが、コントロールからキー名を取得する方法がわかりません。

答えて

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でも使用できます。

選択肢は、達成したいこととプロジェクトのサイズによって異なります。大規模なプロジェクトの場合は、おそらくローカリゼーションハンドラとグローバル化ライブラリの組み合わせが最適です。

関連する問題