0

嗨,我在 asp.net 的 .cs 文件中声明了一个字典,但我想使用 jquery 函数访问该字典的内容。jquery 函数将 key 作为输入,在函数体中它应该访问 asp.net 的 .cs 中的字典并对其进行处理,jquery 应该输出与 key 对应的值。你能建议一种方法来做到这一点。

我写的代码是

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 回答