使用JQuery從客戶端調用C#方法


     這篇文章將幫助你怎樣實現客戶端調用后台定義的方法。JQuery讓生活變的更簡單,對於它來說,這有一個很簡單的方法去實現這個目的。

(注:本文的目的是想說明怎樣使用JQuery去請求后台某個定義的方法,而非直接使用后台函數。請求后台的方法有很多種,這僅僅是客戶端與服務端交互的方法之一,當然還有當下流行的WebService。看到評論中有朋友對本文的標題有深入的討論,所以在此做下說明!)

早前,我們知道一種方法:如果我們想從客戶端去調用一個后台添加的函數就需要寫一種叫的WebMethod的東西,而現在,通過下面的方法,我們將無需再用到WebMethod。

     通過下面的例子,我將寫一個方法,它的目的是當點擊刪除鍵時將會刪除一個指定的用戶。我不想回發(postback,Web 頁將數據發送回服務器上的同一頁的進程。),所以想從客戶端執行該事件。我在服務器端的cs文件中寫了一個方法,並在客戶端通過JQuery去調用它。這個頁面叫Test.aspx。而這個方法叫DeleteRec()。

1 private void DeleteRec()
2 {
3   int ID = Request.Form["ID"].ToString().ToInteger();
4   //parameter send from client side   
5   int UserID = Request.Form["UserID "].ToString().ToInteger();
6   //parameter send from client side   
7   UserBO lObjUserBO = new UserBO();
8   lObjUserBO .DeleteUser(ID, UserID);
9 }

下面將介紹如果調用這個方法: 

 

 1 protected void Page_Load(object sender, EventArgs e)
 2 {
 3   if (!Page.IsPostBack)
 4   {
 5     #region Ajax methods   
 6     if (Request.Form["MethodName"] == "DeleteR")
 7     // same Method Name that we are specifying on client side(DeleteR)   
 8     {
 9       DeleteRec(); // Method defined on the page to delete the record   
10       return ;
11     }
12     #endregion 
13   }
14 }

 

這就是我們需要在客戶端(Test.aspx)中需要添加的。

1 <a id="adelete" href="java<!-- no -->script:void(0);">Delete</a>  

使用下需要腳本將會在我們點擊錨標記的時候調用服務端的方法。

 1 $('#adelete').click(function()    
 2  {          
 3      var dataToSend={ID:ID,MethodName:'DeleteR',UserID :UserID };                     
 4      var options =          
 5      {          
 6          url: '<%=ResolveUrl("~/Test.aspx") %>?x=' + new Date().getTime(),          
 7          data: dataToSend,          
 8          dataType: 'JSON',          
 9          type: 'POST',          
10          success: function (response) {          
11          window.location.href='<%=ResolveUrl("~/Test1.aspx")%>/'+ID;          
12          //after success will redirect to new page          
13      }          
14  }          
15  $.ajax(options);  

希望上面這些能對你從客戶端調用服務端代碼有所幫助。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM