asp.net使用jquery将发送方传递给服务器

时间:2012-01-19 13:52:43

标签: c# asp.net

我想用jQuery在我的aspx.cs文件中调用C#函数。该函数如下所示:

protected void Fill(object sender, EventArgs e) { ...do s.th. with sender... }

在我获得控制权的函数中,我希望通过对发送者进行强制转换来处理。如何使用jquery将发件人传递给服务器?

2 个答案:

答案 0 :(得分:2)

你不能像使用jQuery那样调用函数。 jQuery是一种基于javascript的客户端脚本技术,可在客户端浏览器上运行。它不知道ASP.NET是什么。它更不知道服务器端是什么,ASP.NET代码隐藏方法是什么。

这就是说,您可以向服务器端脚本发送一个AJAX请求,在您的情况下,该脚本可以是通用处理程序(.ASHX)或.ASPX页面。在第二种情况下,您可以使用Page Methods

答案 1 :(得分:2)

请检查:Implementing Client Callbacks Programmatically Without Postbacks in ASP.NET Web Pages

您好,您可以查看这篇文章:http://pranayamr.blogspot.com/2012/01/calling-server-side-function-from.html,其中讨论了如何使用jQuery函数调用服务器方法。

cs文件,即服务器端代码

   [WebMethod]      
    public static string IsExists(string value)      
    {           return "True";      } 

客户端脚本

function IsExists(pagePath,dataString,textboxid,errorlableid){          //警报(PAGEPATH);

     $.ajax({
         type: "POST",
         url: pagePath,
         data: dataString,
         contentType: "application/json; charset=utf-8",
         dataType: "json",
         error: function(XMLHttpRequest, textStatus, errorThrown) {
             $(errorlableid).show();
             $(errorlableid).html("Error");

         },
         success:
                            function(result) {
                                var flg = true;
                                if (result != null) {
                                    debugger;
                                    flg = result.d;

                                    if (flg == "True") {
                                        $(errorlableid).show();
                                    }
                                    else {
                                        $(errorlableid).hide();
                                    }
                                }
                            }
     });

 }

 function focuslost() {
     var pagePath = window.location.pathname + "/IsExists";
     var dataString = "{ 'value':'" + $("#<%= txtData.ClientID%>").val() + "' }";

     var textboxid = "#<%= txtData.ClientID%>";
     var errorlableid = "#<%= lblError.ClientID%>";
     IsExists(pagePath, dataString, textboxid, errorlableid);
 }