2009-05-25 169 views
2

我需要找到一種方法來在javascript中的aspx頁面中調用vb.net函數。我有一個讓.drop類.droppable的Jquery函數,當我將.draggable拖放到放置目標上時,我的Jquery代碼成功激發了一個java alert語句。所有的純JavaScript。我需要做的是一些沉重的數學!從javascript調用VB.net函數

我明白,JavaScript存在客戶端,ASP/VB存在服務器端,而且從來沒有兩個應該會見。從谷歌的研究,它似乎是得到我需要完成的理想方式,是在我的更新面板中觸發異步回發。我創建了一個名爲「HiddenButton」的隱藏按鈕,並且我還創建了一個名爲「HiddenLabel」的隱藏標籤。我怎麼才能使它工作,所以當我放棄某些東西時,我的javascript調用了一些更新HiddenLabel中的文本的東西(這樣我就可以將值傳遞給服務器端),並以某種方式激發HiddenButton_click事件?

我目前的JavaScript善良看起來是這樣的:

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

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

function doReady() { 

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

這是我想的東西需要去更新標籤和觸發後回,但我不知道它是什麼:(

}); 

} // End of do ready 
</script> 
+0

您還可以使用WebForm_DoPostBackWithOptions javascript函數代替__doPostBack。 – Kirtan 2009-05-25 05:50:44

回答

3

您能給我們e隱藏變量的OnValueChanged事件。連線事件,更改隱藏變量的值,然後編寫此語句 -

__doPostBack('<%= hdnHidden.UniqueID %>', ''); //This statement will fire the OnValueChanged event and the control will be moved to the server side where you can update the label and do your processing. 
+0

它工作!我更新了我的javascript行: drop:function(){__doPostBack('<%= HiddenButton.UniqueID%>',''); } 現在我只需要弄清楚如何在我的網站上做更多的工作,但這是我需要的! – 2009-05-25 05:15:53

1

調用__doPostBack與JS引起頁面回發。

function __doPostBack(eventTarget, eventArgument) { ... } 
+0

我改變了我的JavaScript到這,現在拖動功能被打破?函數doReady(){ $('。drag')。draggable({revert:true,helper:'clone'}); ()函數(){alert('dropped');} drop:function(){__doPostBack() HiddenButton_Click,'')} }); } //完成準備 – 2009-05-25 05:10:47