使用JQuery从客户端调用C#方法

这篇文章将帮助你怎样实现客户端调用后台定义的方法。JQuery让生活变的更简单,对于它来说,这有一个很简单的方法去实现这个目的。

早前,我们知道一种方法:如果我们想从客户端去调用一个后台添加的函数就需要写一种叫的WebMethod的东西,而现在,通过下面的方法,我们将无需再用到WebMethod。

     通过下面的例子,我将写一个方法,它的目的是当点击删除键时将会删除一个指定的用户。我不想回发(postback,Web 页将数据发送回服务器上的同一页的进程。),所以想从客户端执行该事件。我在服务器端的cs文件中写了一个方法,并在客户端通过JQuery去调用它。这 个页面叫Test.aspx。而这个方法叫DeleteRec()。

private void DeleteRec()
 {
   int ID = Request.Form["ID"].ToString().ToInteger();
   //parameter send from client side   
   int UserID = Request.Form["UserID "].ToString().ToInteger();
   //parameter send from client side   
   UserBO lObjUserBO = new UserBO();
   lObjUserBO .DeleteUser(ID, UserID);
 }

下面将介绍如果调用这个方法: 

protected void Page_Load(object sender, EventArgs e)
  {
    if (!Page.IsPostBack)
    {
      #region Ajax methods   
      if (Request.Form["MethodName"] == "DeleteR")
      // same Method Name that we are specifying on client side(DeleteR)   
      {
        DeleteRec(); // Method defined on the page to delete the record   
       return ;
     }
     #endregion 
   }
 }

这就是我们需要在客户端(Test.aspx)中需要添加的。

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

使用下需要脚本将会在我们点击锚标记的时候调用服务端的方法。

$('#adelete').click(function()    
   {         
       var dataToSend={ID:ID,MethodName:'DeleteR',UserID :UserID };                    
       var options =         
       {         
           url: '<%=ResolveUrl("~/Test.aspx") %>?x=' + new Date().getTime(),         
           data: dataToSend,         
           dataType: 'JSON',         
           type: 'POST',         
          success: function (response) {         
          window.location.href='<%=ResolveUrl("~/Test1.aspx")%>/'+ID;         
          //after success will redirect to new page         
      }         
  }         
  $.ajax(options);
posted @ 2013-01-23 11:44  Patrick005  阅读(2495)  评论(0编辑  收藏  举报