コードビハインドから関数を呼び出そうとしています。私が呼び出そうとしている 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」の値があります