使用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);  
复制代码

希望上面这些能对你从客户端调用服务端代码有所帮助。

原文地址:https://www.cnblogs.com/weixing/p/2479157.html