asp.net 前台跟後台之前執行的流程:
首先,通過A頁面中一按鈕連結進入B頁面,IE會先看A頁面這個按鈕有沒有JS指令碼,如果有的話,會先執行JS指令碼,沒有的話,進入開啟B頁面的過程。
因為是第一次進入B頁面,會進入B頁面的Page_Load事件中執行,且會執行if(!isPostBack){}中的語句,執行完後,將內容發向IE,IE會將頁面中的JS指令碼執行了(當然,如果這個JS是在頁面載入時會執行的話,例如直接在<script language >alert("ddd")</script>就會被IE執行),此時頁面承現給使用者。
使用者點擊B頁面中一按鈕btn,此時IE會看這個按鈕有沒有對應的onclientclick()事件,如果有則會去執行這個事件對應的JS指令碼,執行完後,如果指令碼返回false,則IE不會再去執行後台,如果這個指令碼返回true,(預設返回true)則進入伺服器上的後台代碼,先執行Page_Load事件中的代碼,當然,這將不會再執行if(!IsPostBack){}中的語句。執行完Page_Load事件中的代碼後,會去執行btn所對應的後台Click事件中的代碼,執行完成後,會將執行結果返回給IE,此時IE會將頁面中的Js指令碼執行了(當然,如果這個JS是在頁面載入時會執行的話,例如直接在<script language >alert("ddd")</script>就會被IE執行)。
對於開啟的頁面按F5進行重新整理:使用者在IE中對於開啟B頁面按F5進行重新整理頁面,此時會先來到後台,B頁面的Page_Load事件中執行代碼,但不會再執行if(!ispostBack){}中的代碼,執行完Page_Load事件中的代碼後,會返回到用戶端中,IE會重新執行頁面中的Js指令碼(當然,如果這個JS是在頁面載入時會執行的話,例如直接在<script language >alert("ddd")</script>就會被IE執行)。然後將頁面呈現給使用者。
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/haoxiang110/archive/2011/03/30/6289024.aspx