2009-05-27 78 views
0

我一直在試圖以某種方式讓我的JavaScript函數(我有在ASPX頁頭部分)設置一個隱藏的項目中的值,然後一些如何讓服務器-side(trusty'ol ASP)讀取這些數據,以便我可以根據它是什麼進行一些工作。我將整個頁面都包裝在更新面板中,我的拖放問題已經基本解決了。理想的情況是,一旦一個對象被放置在放置區域內,javascript代碼塊(我吸取JS)將爲隱藏字段賦值,然後使更新面板執行其異步回發之一併刷新本身(它將從基於隱藏值運行的函數中提取數據)。這就是我對我現在的(碎)JavaScript部分:從JS傳遞信息到ASP服務器端

<script type="text/javascript"> 
    $(document).ready(function() { 
doReady(); 

var prm = Sys.WebForms.PageRequestManager.getInstance(); 
prm.add_endRequest(function(s, e) { 
    doReady(); 
}); 
}); 

以上所有的東西,使得它如此JQuery的不博克本身回傳

function doReady() { 

$('.drag').draggable({ revert: true, helper: 'clone' }); 
$('.drop').droppable({ 
    tolerance: "touch", // Here should be a string 
    drop: function() { 

     $('#myHidden').val('Testy test test'); 
     __doPostBack('<%= HiddenButton.UniqueID %>', ''); 
     alert(#myHidden.val); 

    } 


}); 

} // End of do ready 
</script> 

這裏後是相關ASPX有那個神祕的「myHidden」的東西。

<input type="hidden" id="myHidden" /> 
<asp:Button ID="HiddenButton" runat="server" Text="Button" /> 

我在做錯誤的javascript部分,或者是我有這個fubar的整個概念?

謝謝! Bill

+0

任何理由使用jQuery.post(),然後使用回調函數做任何你想要的,你不只是發送數據在下拉功能從ASP返回什麼,而不是將值放入輸入字段? – 2009-05-27 04:20:09

+0

有一個原因 - 因爲我不知道如何!你有一個很好的鏈接到文檔/教程如何做到這一點,或我可以學習的代碼片段?這聽起來像我目前正在做的一個更簡單的方法。 – 2009-05-27 04:58:30

回答

0

如果您希望隱藏的輸入被回傳,您需要提供一個名稱以及一個id。只有帶名稱的輸入與發佈的表單一起發送。您可能希望將其設置爲asp:HiddenField,以便您可以輕鬆地在服務器端檢索其值,儘管您也可以從Request.Form集合中獲取它。

<asp:HiddenField runat="server" id="myHidden" /> 

改變你的JavaScript是:

drop: function() { 

    $('[id$="myHidden"]').val('Testy test test'); 
    __doPostBack('<%= HiddenButton.UniqueID %>', ''); 
    alert($('[id$="myHidden"]').val()); 

} 
相關問題