0

こんにちは、asp.net の .cs ファイルで辞書を宣言しましたが、jquery 関数を使用してこの辞書の内容にアクセスしたいと考えています。jquery 関数は入力としてキーを受け取り、関数の本体で asp.net の .cs 内の辞書にアクセスして処理し、jquery はキーに対応する値を出力する必要があります。これを行う方法を提案できますか。

私が書いているコードは

public string DictJson { 
   get { 
      MouseOverFieldDict mdict = new MouseOverFieldDict(); 
      JavaScriptSerializer jSer = new JavaScriptSerializer(); 
      return jSer.Serialize(mdict.FieldDict); 
   } 
} 

上記のコードを.csファイルにプロパティとして追加し、aspxページに書いたスクリプトでアクセスしようとしました

var dict = $.parseJSON('<%=DictJSON %>'); 
alert(dict); 

しかし、エラー The name 'DictJSON' does not exist in the current context が発生しています。スクリプト部分で宣言された DictJSON に対してエラーが表示されます

4

1 に答える 1

0

大文字と小文字が正しくありDictJsonませんDictJSON。ページのコード ブロック内のコードは C# であるため、大文字と小文字が区別されます。

さらに、JSON 文字列を返すため、それを引用符で囲んでから解析する必要はありません。実際、うまくいかない可能性があります。代わりに次のいずれかを実行できます。

var dict = <%= DictJson %>;

または、サーバー スクリプトとクライアント スクリプトを混在させたくない場合は、少し異なることを行うことができます。

<script type="application/json" id="dict-contents">
    <%= DictJson %>
</script>

<script type="text/javascript">
    var dict = JSON.parse(jQuery("#dict-contents").html());
</script>
于 2013-10-11T15:20:03.813 に答える