前台
   $.post("About.aspx", { name: 'weiqi', op: 'hello' }, function (msg) {
                    alert(msg);
                });
后台  protected void Page_Load(object sender, EventArgs e)
        {
            if ("hello".Equals(Request.Form["op"]))
            {
                Response.Write("gff");                Response.End();
            }        }正常
但是 我把后台改成  protected void Page_Load(object sender, EventArgs e)
        {
                          Response.Write("gff");                Response.End();
                 }
整张页面就只有gff了,其他html代码页不见了,alert也不弹出了
然后 我还想调用后台的一个方法,比如把前台改成
   $.post("About.aspx/getdate", { name: 'weiqi', op: 'hello' }, function (msg) {
                    alert(msg);
                });
结果alert出来是整个页面的html代码 难道不能调用方法吗?向各位大神求解

解决方案 »

  1.   


    //page.Response.End(); 
        page.Response.Flush(); 
        page.Response.Close(); 
    asp.net中最好不要用Response.End(); 
      

  2.   

    你怎么触发ajax的?
    不会使用服务端控件把~另外..难道是处理提交页面是about  ajax的处理页面也是about~?
      

  3.   


    我有改了一下,现在主要问题就是,后台的代码改从if ("hello".Equals(Request.Form["op"]))
                {
                    Response.Write("yes");
                    Response.End();
                }
    改为                Response.Write("yes");
                    Response.End();
                
    页面上就只剩下yes了 ,其他的html代码全没了。不就是多了个判断吗  怎么就相差那么大呢?
      

  4.   

    我是用 $(document).ready(function () {        $(function () {})直接用的
      

  5.   

      protected void Page_Load(object sender, EventArgs e)
            {
                if ("hello".Equals(Request.Form["op"]))
                {
                    Response.Write("gff");                Response.End();
                }        }你这段代码是在about.aspx.cs
    ajax是在about.aspx是把~?
    然后ajax的提交也提交给about
    如果是
    新建一个ajaxHander.aspx  最好是.ashx 
    添加  然后把它们在about。aspx。cs删掉
     protected void Page_Load(object sender, EventArgs e)
            {
                if ("hello".Equals(Request.Form["op"]))
                {
                    Response.Write("gff");                Response.End();
                }        }
    $.post("ajaxHandler.aspx", { name: 'weiqi', op: 'hello' }, function (msg) {
                        alert(msg);
                    });
    简单来说,不要同一个页面
      

  6.   

    是不是不能直接在ajax里不能直接调用方法的啊?
      

  7.   

    不是....而是......感觉好难用语言来表达了..........
    http://www.tudou.com/programs/view/uT0YIjgt00o/isRenhe=1
    视频不知道可不可以看 在公司 不敢看反正记住 要两个页面
    一个提交  一个负责处理提交你现在是提交和处理都在同一个页面上 再加上page_load 和 Response.End();把你的代码清除了~~
    当然两个页面的时候 处理页面还是要Response.End();的