a)在Asp.Net中,我们可以通过Page.IsPostBack
属性检查请求是否是回发。但此属性从何处获取其值?那么,在传入请求中浏览器放置此值的位置是什么?
b)据我所知,点击重新加载按钮也会导致浏览器将表单数据发送回服务器。因此,触摸浏览器的reload
按钮与按下submit
按钮(嵌套在FORM
元素中)相同?
c)假设浏览器第一次显示A.aspx
并假设用户点击浏览器的reload
按钮,那么我认为此请求将被Asp.Net视为回发(特别是因为浏览器也是发回任何form data
),但事实并非如此。为什么呢?
感谢名单
答案 0 :(得分:4)
IsPostBack属性仅查看请求是否为POST请求操作。如果是POST,则IsPostBack返回true。
在浏览器上点击重新加载/刷新通常不会将任何表单数据发送到服务器 - 大多数情况下这会导致GET请求(这是您第一次访问站点时发送的默认请求)。
如果单击由于POST操作而收到的页面上的刷新,则浏览器将询问用户是否要在再次执行POST请求之前再次提交数据。除非用户确认,否则浏览器不会重新提交任何表单数据(至少在IE,Firefox和Chrome中它是如何工作的)。
Fiddler是一个很好的工具来帮助解决这种情况。它位于浏览器和服务器之间的中间位置,您可以看到所有流量来回传输。您可以下载here。