解决方案 »

  1.   

    以Ajax方式访问页面,本来就是荒唐的事情。如果确实需要这样更新页面,那么你应该使用asp.net UpdatePanel控件。以轻量级Ajax方式,你只能为Ajax的返回值输出结果,然后Ajax请求在其回调时再在浏览器端处理这个结果。因此这也就是调用一个ashx所恰好合适干的事情。而你花费巨大的代价重新创建整个Page对象(以及所有子控件),并且还给子控件赋值,你给Ajax输出的一个新的bingo.aspx页面有什么意义呢?又不刷新整个页面。(如果刷新,你有何必用什么Ajax呢?)简单说,你就根本没有必要画蛇添足地访问aspx。应该访问ashx,这样写代码才自己最容易搞清Ajax的机制。
      

  2.   

    ap1234,您好:
        非常感谢您的回复,为什么这么写代码。我是想熟悉前台和后台相互传值的方法。请告诉我为什么我的值显示不出来?而用DEBUG调试却告诉我有这值?
      

  3.   

    应该是后台把ajax请求的结果返还给前台,前台用js刷新页面,而不是直接后台修改dom内容吧
      

  4.   


                  1、你要知道ajax是干什么的!
                   2、用ajax直接访问aspx地址页面会造成什么后果!
                   
                   你要问的问题的答案就这。且你想问为什么不显示,因为你获取了,但是没有在ajax方法里把获取的值指定显示在那里、所以他不显示。
      

  5.   


                  1、你要知道ajax是干什么的!
                   2、用ajax直接访问aspx地址页面会造成什么后果!
                   
                   你要问的问题的答案就这。且你想问为什么不显示,因为你获取了,但是没有在ajax方法里把获取的值指定显示在那里、所以他不显示。
    非常感谢您的回复,现在我还有个疑问:
    为什么我用get方法给服务器传值没问题。用POST 值就传不过去了?
         xmlhttp.open("get", "ajax.aspx?name=Bill", true);
                xmlhttp.send();(成功)。
    --------------------------------------------------
                xmlhttp.open("POST", "ajax.aspx", true);
                xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
                xmlhttp.send("name=Bill");(失败)
    ------------------------------------------------