WebForm1.aspx:
<head runat="server">
    <title></title>
    <script type="text/javascript" 
            src="Scripts/jquery-1.4.1.min.js">
    </script>
    <style type="text/css">
           body{font-size:13px}
           .divFrame{width:260px;border:solid 1px #666}
           .divFrame .divTitle{padding:5px;background-color:#eee;height:23px}
           .divFrame .divTitle span{float:left;padding:2px}
           .divFrame .divContent{padding:8px}
           .divFrame .divContent .clsShow{font-size:14px}
           select,input{float:left}
           .txt{border:#666 1px solid;padding:2px;width:80px;margin-right:3px}
           .btn {border:#666 1px solid;padding:2px;width:50px;
           filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ffffff, EndColorStr=#ECE9D8);}
    </style>
    <script type="text/javascript">
        $(function () {
            $("#Button1").click(function () { //按钮单击事件
                //打开文件,并通过回调函数返回服务器响应后的数据
                $.post("User_Info.aspx",
                { name: encodeURI($("#txtName").val()),
                    sex: encodeURI($("#selSex").val())
                },
                function (data) {
                    $("#divTip")
                    .empty() //先清空标记中的内容
                    .html(data); //显示服务器返回的数据
                })
            })
        })
    </script>
</head>
<body>
   <div class="divFrame">
         <div class="divTitle">
              <span>姓名:</span>
              <input id="txtName" type="text" class="txt" />
              <select id="selSex" style="height:22px;margin-right:3px">
                 <option value="">选性别</option>
                 <option value="男">男</option>
                 <option value="女">女</option>
              </select>
              <input id="Button1" type="button" 
                     class="btn" value="请求" />
         </div>
         <div class="divContent">
              <div id="divTip"></div>
         </div>
    </div>
</body>User_Info.aspx(没有后台代码User_Info.aspx.cs的):<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>
<% 
    Response.Write(DateTime.Now.ToString());
%>
上面是我尝试了可以返回后台数据的方法,我想问的是难道Jquery通过ajax获取后台的数据只能通过这样的方式,一般是怎么做的,(我如果通过添加新建项User_Info.aspx,这时是有User_Info.aspx.cs的,我在User_Info.aspx.cs中添加一个方法 public void GetData()
        {
            Response.Write(DateTime.Now.ToString());
        }
再将ajax的url换成User_Info.aspx/GetData,此时点击button没有反应,求解。

解决方案 »

  1.   

    前台:<%@ Page Language="C#" MasterPageFile="~/Top_Down.master" AutoEventWireup="true" CodeFile="RegisterMember.aspx.cs" Inherits="Member_RegisterMember" Title="注册用户" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">    <link href="../Admin/css/template.css" rel="stylesheet" type="text/css" />    <link href="../Admin/css/validationEngine.jquery.css" rel="stylesheet" type="text/css" />    <script src="../Admin/scripts/jquery-1.7.1.min.js" type="text/javascript"></script>    <script src="../js/jquery.validationEngine.js" type="text/javascript"></script>     <script src="../Admin/scripts/isValid.js" type="text/javascript"></script>    <script src="../js/languages/jquery.validationEngine-zh_CN.js" type="text/javascript"></script>        <script type="text/javascript">     var IsCheck=false;    $(function(){            // binds form submission and fields to the validation engine            $("#form1").validationEngine();            //当鼠标失去焦点的时候验证            $("#txtUserName").blur(function(){            $.ajax({            url:"Data/GetMemberInfo.ashx?method=CheckExistUserName",            data:{"username":$("#txtUserName").val()},            type:"post",            success:function(text){              $("#tdUser").empty();//清空内容              var item;              if(text=="True"){              item='<img src="../images/ok.png"/>恭喜您,这个帐号可以注册!';              IsCheck=true;              }              else              item='<img src="../images/no.png"/>对不起,这个帐号已经有人注册了!';            $("#tdUser").append(item);                          }            });                        });        });        function CheckForm1()        {        if(IsCheck)        {        form1.submit();        }        else{        alert("请验证用户名");        }        }         </script> </asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">  <form id="form1" action="Data/GetMemberInfo.ashx?method=SaveMemberInfo" method="post">    <div class="content">    <div class="left_side">        <div class="logo_bottom"></div>           </div>    <div class="right_side zhuce">        <div class="zhuce_title"><p class="hide">注册新用户</p></div>        <div class="zhuce_p">            <table width="578" class="zc_table1">                  <tr>                      <td width="93" class="zc_tar">用户名:</td>                      <td width="200" class="zc_tal"><input type="text" class="zc_input1 validate[required,custom[LoginName]] text-input" name="txtUserName" id="txtUserName"/><!--LoginName--></td>                      <td width="269" class="zc_font" id="tdUser"></td>                  </tr>                  <tr>                      <td class="zc_tar">密码:</td>                      <td class="zc_tal"><input type="password" class="zc_input2  validate[required,custom[LoginPwd]] text-input"  id="txtPwd" name="txtPwd"/></td>                      <td class="zc_font"></td>                  </tr>                  <tr>                      <td class="zc_tar">确认密码:</td>                      <td class="zc_tal"><input type="password" class="zc_input3 validate[required,equals[txtPwd] text-input" /></td>                      <td class="zc_font"></td>                  </tr>                  <tr>                      <td class="zc_tar">E-mail:</td>                      <td class="zc_tal"><input type="text" class="zc_input4 validate[required,custom[email] text-input"  name="txtEmail" id="txtEmail"/></td>                      <td class="zc_font"></td>                  </tr>                  <tr>                      <td class="zc_tar">验证码:</td>                      <td class="zc_tal" colspan="2"><input type="text" class="zc_input5"  name="txtCheckCode" id="txtCheckCode"/><img src="../Admin/FileManage/VerifyChars.ashx" alt="验证码" /></td>                  </tr>                  <tr><td> </td></tr>                  <tr>                      <td colspan="3" align="center"><a href="javascript:CheckForm1()"><img src="../images/zhuce_sumbit.png" /></a></td>                  </tr>              </table>      </div>    </div></div></form></asp:Content>后台事件:<%@ WebHandler Language="C#" Class="GetMemberInfo" %> using System;using System.Web;using Common;using czcraft.Model;using czcraft.BLL;using System.Web.SessionState;public class GetMemberInfo : IHttpHandler,IRequiresSessionState{    //  //记录日志    private static readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);    public void ProcessRequest(HttpContext context)    {        String methodName = context.Request["method"];        if (!string.IsNullOrEmpty(methodName))            CallMethod(methodName, context);    }    /// <summary>    /// 根据业务需求调用不同的方法    /// </summary>    /// <param name="Method">方法</param>    /// <param name="context">上下文</param>    public void CallMethod(string Method, HttpContext context)    {        switch (Method)        {            case "CheckExistUserName":                CheckExistUserName(context);                break;            //case "SearchMember":            //    SearchMember(context);            //    break;            case "SaveMemberInfo":                SaveMemberInfo(context);                break;            //case "RemoveMember":            //    RemoveMember(context);            //    break;            //case "GetMember":            //    GetMember(context);            //    break;            default:                return;          }    }    /// <summary>    /// 验证帐号是否存在    /// </summary>    /// <param name="context"></param>    public void CheckExistUserName(HttpContext context)    {                     string username = context.Request["username"];        if (Tools.IsValidInput(ref username, true))        {            context.Response.Write(new memberBLL().CheckExistUserName(username));        }    }    /// <summary>    /// 保存用户信息     /// </summary>    /// <param name="context"></param>    public void SaveMemberInfo(HttpContext context)    {        try        {            //表单读取            string txtUserName = context.Request["txtUserName"];            string txtPwd = context.Request["txtPwd"];            string txtEmail = context.Request["txtEmail"];            string txtCheckCode = context.Request["txtCheckCode"];            //验证码校验            if (!txtCheckCode.Equals(context.Session["checkcode"].ToString()))            {                return;            }            //字符串sql注入检测            if (Tools.IsValidInput(ref txtUserName, true) && Tools.IsValidInput(ref txtPwd, true) && Tools.IsValidInput(ref txtEmail, true))            {                member info = new member();                info.username = txtUserName;                info.password = txtPwd;                info.Email = txtEmail;                info.states = "0";                if (new memberBLL().AddNew(info) > 0)                {                    SMTP smtp = new SMTP(info.Email);                    string webpath = context.Request.Url.Scheme + "://" + context.Request.Url.Authority + "/Default.aspx";                     smtp.Activation(webpath, info.username);//发送激活邮件                    JScript.AlertAndRedirect("注册用户成功!!", "../Default.aspx");                }                else {                    JScript.AlertAndRedirect("注册用户失败!", "../Default.aspx");                }            }        }        catch (Exception ex)        {            logger.Error("错误!", ex);        }    }     public bool IsReusable {        get {            return false;        }    } }这是一段简单的校验用户的jquery  + ajax你看看吧。应该能看懂的!
      

  2.   

    你应该分别了解一下 juqery ajax 分别向aspx,ashx,还有webservice发送请求得到数据的处理情况
    其中aspx,ashx两者类似AspxWebService
      

  3.   


    LS帮LZ把代码想写完了算了把,反正也贴了这么多了。
      

  4.   

    jquery中Ajax指定访问页面地址,需要执行不同的方法只需给页面指定参数,根据参数服务端执行相应逻辑。
      

  5.   

    谢谢你的回答  http://blog.csdn.net/imghu/article/details/6690627这个根部就没有回答我的问题啊我问的是Jquery ajax 后台的方法不能写在aspx.cs文件里面吗?如果不能写在aspx.cs文件里面  一般是怎么写的。
      

  6.   


    你这个   url:"Data/GetMemberInfo.ashx?method=CheckExistUserName",
    中的Data是干什么的啊 
      

  7.   

    data是相对路径吧,GetMemberInfo.ashx文件在其之下
      

  8.   

    ajax访问aspx的方法时
    需要将方法上面添加一个filter,WebMethod的标志,并且那个方法时静态的,而且最好有返回[WebMethod]
    public static string GetData()
    {
      return (DateTime.Now.ToString());
    }
    如果ajax是访问ashx的方法,进入ProcessRequest方法的入口写东西就可以了
      

  9.   

    这边的Data只是一个文件夹名称而已,是一个找到那个ashx文件的相对路径