2012-02-03 49 views
1

我想知道如果您可以在回發時使用JavaScript或jQuery調用服務器端方法嗎?使用JavaScript或jQuery調用服務器方法

我已經創建了一個錨點按鈕,並希望它能像linkbutton一樣工作,即做回發並調用一個事件。所以我認爲可以使用JavaScript?

我該怎麼做?我已經做了很多網上的搜索,但沒有找到任何東西..

<a href="javascript:void(0);" id="SOMEID" onclick="DOPOSTBACK CALL SERVER SIDE METHOD();"></a>; 
+0

jQuery是一個JavaScript庫,不是JavaScript的替代品。 – Quentin 2012-02-03 09:16:21

+1

[如何從客戶端JavaScript函數調用服務器方法背後的代碼可能的重複?](http://stackoverflow.com/questions/5828803/how-to-call-code-behind-server-method-from-a -client側JavaScript的函數) – Quentin 2012-02-03 09:16:58

回答

2

你有沒有試過尋找阿賈克斯?

http://api.jquery.com/category/ajax/

有很多的教程在網上。如果你使用的是dot net,那麼還有一個名爲dot net ajax的JQuery插件,我覺得它非常有用。然而,ajax是一個巨大的話題,你的問題非常廣泛,所以很難更具體!

2

你可以做的就是發送AJAX調用服務器。但這是一個非常大的話題,你可以在互聯網上找到很多信息。 使用jQuery最簡單的形式是

<a href="javascript:void(0);" id="SOMEID" >Call the server</a>; 

$('#SOMEID').click(function(){ 
    $.get('url/on/server', function(data){ 
     //do something with data returned from server 
    }); 
}); 

這使得異步調用URL url/on/server,然後一個答案等待(因爲調用是異步的,用戶可以繼續在頁面上做的事情)

0

如果你想使用JavaScript從錨標記做回發,你可以做

document.forms[0].submit(); //This will post your form 

OR

__doPostBack(); 

OR

如果你想知道哪些控制造成回發。

的JavaScript

function __doPostBack(eventTarget, eventArgument) { 
     var theform; 
     if (window.navigator.appName.toLowerCase().indexOf("n etscape") > -1) { 
      theform = document.forms["Form1"]; 
     } 
     else { 
      theform = document.Form1; 
     } 
     theform.__EVENTTARGET.value = eventTarget.split("$").join(":"); 
     theform.__EVENTARGUMENT.value = eventArgument; 
     alert(theform.__EVENTARGUMENT.value); 
     theform.submit(); 
} 

用以下ASPX代碼,使其工作

<input type="hidden" name="__EVENTTARGET" /> 
<input type="hidden" name="__EVENTARGUMENT" /> 

希望這是你在找什麼。

相關問題