2013-07-16 46 views
0

所以我想從Code Behind中調用一個函數。 jQuery的功能我想打電話是JSON編輯器的jQuery插件,如下所示:http://www.daviddurman.com/jquery-json-editor-plugin.html和源可以在這裏找到:https://github.com/DavidDurman/FlexiJsonEditorJQuery Function Asp.net通過引用

在我的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>"); 

所以基本上我想更新「jsonlabel」文本時,「JSON」的變化。 'json'對象總是保持不變。我知道每當我進行編輯時我都會調用change()函數(我嘗試使用messagebox來證明這一點),但由於某種原因'json'對象總是停留相同..因此,我的'jsonlabel'總是具有原始'resulstring'的價值

+0

這很難遵循這裏的邏輯。什麼是打算髮生的客戶端和打算髮生的服務器端?當服務器端文章發生時,客戶端更改是否會丟失? – David

+0

服務器生成'結果'字符串(這是一個JSON字符串)並調用腳本。該腳本基於'result'字符串生成一個視圖。用戶可以編輯和修改視圖,每當視圖發生變化時,應該調用change function()。是的,客戶端變化正在失去。 – user2565505

+0

當你做回發時,你有什麼方式讓服務器端代碼響應客戶端的更改?也就是說,如何用這些更改更新服務器端代碼?如果沒有狀態改變了與這個客戶端功能相關的服務器端,那麼它總是以相同的方式呈現它。 – David

回答