我目前有一個奇怪的問題,除了谷歌瀏覽器之外的所有瀏覽器都在Page_Load事件中註冊了對IsPostback的調用,因爲當我點擊一個簡單地回發到同一頁面的asp.net按鈕時,它就是true。IsPostback在技術上如何工作?
這導致我嘗試發現ASP.Net頁面中的IsPostback屬性在技術上是如何實現的,這是我努力尋找的。
我的想法迄今爲止它可能與以下有關;
- 請求VERB類型是POST而不是GET。
- 包含Viewstate信息的隱藏輸入信息不存在,因此以前未提交的控制信息不可用。
- 請求標頭中的http referer與當前URL相同。
任何人都可以提供用於確定IsPostback布爾屬性的條件的實際細分?
注意:我正在尋找實際的實現而不是理解/理論,因爲我希望能夠用它來積極解決問題。我也搜索了MSDN,並且迄今爲止找不到任何精確覆蓋該機制的技術文章。
在此先感謝, 布賴恩。
感謝您的反饋輸出,upvoted。我想我仍然在尋找更明確但更高層次的描述。這向我顯示了實際的屬性實現,但並未提供ASP .Net如何與瀏覽器請求交互以確定IsPostback的知識。一個例子是「this._pageFlags [8]」,這對於整體機制來說尤其意味着什麼? – 2011-04-13 14:14:07
我添加了評論。 – 2011-04-13 14:32:17
太棒了,謝謝你。欣賞你和普雷斯科特所採取的時間。 – 2011-04-13 14:39:07