建立頁面pagecycle.aspx,頁面代碼如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="pagecycle.aspx.cs" Inherits="MyWebSiteTest.pagecycle" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title> <style type="text/css"> body{font-family:Fixedsys Excelsior 3.01,Arial,Verdana,宋體; } p{ font-size:16px;padding:8px 10px 8px 30px; position:relative; border:1px solid #FCDEA7; background-color:#f8f8d8; color:#333; line-height:1.5em; } .txt{ border:none; width:550px; background-color:#31363E; color:#Fff; } </style> <script type="text/javascript"> <!-- function __doPostBack(eventTarget, eventArgument) { Form1.__EVENTTARGET.value = eventTarget.split("$").join(":"); Form1.__EVENTARGUMENT.value = eventArgument; Form1.submit(); } // --> </script></head><body> <form id="Form1" runat="server"> <input type="hidden" name="__EVENTTARGET" value="" /> <input type="hidden" name="__EVENTARGUMENT" value="" /> <div> <p> <ul> <li>原始碼 :<span><</span><span>asp:</span><span>LinkButton ID="lbtn"</span> <span>runat="server" onclick="lbtn_Click"></span><span>測試一下<</span><span>/asp:LinkButton></span></li> <li> html輸出:<span><</span><span>a id="lbtn" href="javascript:__doPostBack('lbtn','')">模仿LinkButton回傳事件<</span><span>/a></span> </li> </ul> </p> <%--<asp:LinkButton ID="lbtn" runat="server" onclick="lbtn_Click">測試一下</asp:LinkButton>--%><br /> <a id="lbtn" href="javascript:__doPostBack('lbtn','');">模仿LinkButton回傳事件</a> </div> </form></body></html>
後台代碼:
namespace MyWebSiteTest{ /// <summary> /// 頁面生命週期測試 /// </summary> public partial class pagecycle : System.Web.UI.Page { protected void Page_PreInit(object sender, EventArgs e) { Response.Write("<p>Page_PreInit:在頁初始化開始時發生</p>"); } protected void Page_Init(object sender, EventArgs e) { Response.Write("<p>Page_Init:當伺服器控制項初始化時發生;初始化是控制項生存期的第一步</p>"); } protected void Page_PreLoad(object sender, EventArgs e) { Response.Write("<p>Page_PreLoad:當頁load事件<span style=\"color:#f00;\">之前</span>發生</p>"); } protected void Page_Load(object sender, EventArgs e) { if (this.IsPostBack) { string target = Request.Form["__EVENTTARGET"] != null ? Request.Form["__EVENTTARGET"].ToString() : ""; string args = Request.Form["__EVENTARGUMENT"] != null ? Request.Form["__EVENTARGUMENT"].ToString() : ""; lbtn_Click(sender, e); } Response.Write("<p>Page_Load:這是Page_Load事件</p>"); } protected void Page_LoadComplete(object sender, EventArgs e) { Response.Write("<p>Page_LoadComplete:當頁初始化完成時發生</p>"); Page_Disposed(sender, e);//顯示調用 } protected void Page_Disposed(object sender, EventArgs e) { //this.Page.Dispose(); string str = "如不調用,則記憶體回收隨機進行激發,記憶體回收是隨機的不可知的(此處是顯示的被Page_LoadComplete調用觸發)"; Response.Write("<p>Page_Disposed:頁面從記憶體中卸載時發生<br/>" + str + "</p>"); } protected void lbtn_Click(object sender, EventArgs e) { Response.Redirect("http://www.baidu.com"); } }}