所以我试图从Code Behind调用一个函数。我试图调用的Jquery函数是JSON编辑器jQuery插件,如下所示:http://www.daviddurman.com/jquery-json-editor-plugin.html,源代码可以在这里找到:https://github.com/DavidDurman/FlexiJsonEditor
在我的aspx文件中,我有类似的东西..
<div id="editor" class="json-editor"></div>
<pre id="json"></pre>
<script src="Scripts/json/jquery.min.js"></script>
<script src="Scripts/json/jquery.jsoneditor.js"></script>
<asp:Label runat="server" ID="jsonlabel" Width="400"></asp:Label>
在我的代码隐藏中,我设置了“结果”,我称之为
string jquerystring = "var json = "+result+";" + "$('#editor').jsonEditor(json, change: function() { $('#jsonlabel').text(JSON.stringify(json));} });";
ClientScript.RegisterStartupScript(GetType(), "json", "<script type=\"text/javascript\">"+ jquerystring +"</script>");
所以基本上我试图在'json'改变时更新'jsonlabel'文本。问题是'json'对象始终保持不变。我知道每当我进行编辑时都会调用change function()(我尝试使用消息框来证明这一点)但是由于某种原因,'json'对象始终保持不变相同..因此,我的'jsonlabel'总是具有原始'resulstring'的价值