日期:2014-05-17  浏览次数:20356 次

js怎么获取页面是否是客户端回发加载
window.attachEvent('onunload', function() {
  var s = "<%=Page.IsPostBack %>";
  if (s == "False") {
  ....做一些操作
  }
  });

我这样写,第一次单击Button获取到的False,第一次获得是错误的,应该也是True
以后每次单击Button获取到的是True,以后都是正确的


怎么样使得第一次单击Button获取到的也是True呢,是否可以通过Request对象一些参数来判断

怎么解决呢

------解决方案--------------------
QQ578206481
------解决方案--------------------
你所写的代码是错误的
window的unload事件是在 页面卸载时执行,你第一次点击时,unload事件先于他执行了,然后再传回服务器端
那时,s还没有被正确赋值,所以第一次是true。


------解决方案--------------------
楼主 cookie吧 代码就不用抄了吧?
------解决方案--------------------

1.请关注ASP.NET页面生命周期
2.JS判断最好用===,虽然在这里无关紧要.
------解决方案--------------------
Page.IsPostBack 表示的意思你确实没弄明白
Page.IsPostBack 是指获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问
也就是说当页面是相应客户端回发而加载的时候 Page.IsPostBack值为True
当页面首次加载的时候 Page.IsPostBack值为False
接下来,你应该知道该怎么做了吧...
------解决方案--------------------
cookie哪不好,不管从哪看我都觉得是最好的方法了
探讨

引用:

楼主 我说了 用cookie 哎。。。。你桑不起啊


cookie怎么解决呢,总感觉用cookie解决不太好啊,有其他的方法吗

------解决方案--------------------
回复楼主:
你说你知道,为什么你还用错?
你要是真的知道,这个问题你已经解决了.
难怪sp要发飙.
------解决方案--------------------
@杨帆 你比大家有耐心...
------解决方案--------------------
谢谢 纯粹是为了想得分 哈哈
探讨

@杨帆 你比大家有耐心...

------解决方案--------------------
既然你明白了道理,再给你点提示,如果再做不出来,你可太笨了
既然提交时候不处理,想想如何提交时,触发什么事件?

------解决方案--------------------
C# code

  if (!IsPostBack)
        {
            //上面写内容回发的提示
            return;
        }
既然是要判断页面是否加载 直接这样不就行了吗?