ASP.NET Page.IsPostBack

时间:2010-03-02 01:32:31

标签: asp.net postback

我的页面加载事件中有一些代码,它们应该只在第一次加载页面时运行,但是,每次在浏览器上单击“刷新”时它都会运行即使我正在检查回发:

If not page.ispostback then
 ' Code...
End if

2 个答案:

答案 0 :(得分:2)

刷新不是回发(即没有POST发生,它是另一个GET),是浏览器再次询问该页面。在这种情况下,从服务器的角度来看,这是一个新的请求。

答案 1 :(得分:0)

IsPostBack属性只能检测__doPostBack JavaScript函数调用生成的请求。所有其他请求都被视为新请求,因为ASP.NET无法知道请求是如何生成的。

由于__doPostBack函数填充了隐藏的表单字段,因此ASP.NET运行时能够检测到请求是由回发的控件生成的。所有其他请求都不会填充这些隐藏字段,因此运行时不会将它们视为后备字段。