程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 淺談ASP.NET內部機制(五)

淺談ASP.NET內部機制(五)

編輯:關於ASP.NET

前言:本章要談頁面生命周期了,過程挺多的,但是一點都不難。不信可以看看。我盡量的講的平實 一些,而且理解頁面的生命周期對喜歡開發自定義控件和組件的朋友是很有幫助的。

頁面生命周期,也就是處理一個頁面請求的過程。我們之前就說過了的,不同文件的由不同的處理程 序來處理。而且處理程序都是實現了IHttpHandler接口。這個接口中有兩個方法,其中真正用來處理請求 的就是ProcessRequest方法。

所以當我們請求一個頁面的時候,我們的頁面,假如我們請求的是default.aspx這個頁面是繼承自 Page,大家應該知道在程序運行的時候default.aspx以及它的.cs代碼部分一起被編譯成為default_aspx ,如下:

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace ASP
{
public class default_aspx : Page
{
protected ScriptManager ScriptManager1;
protected TextBox TextBox1;
protected Button Button1;
protected Label Info;
protected UpdatePanel UpdatePanel1;
protected HtmlForm form1;
private UpdatePanel @__BuildControlUpdatePanel1()
{
. . .
}
private HtmlForm @__BuildControlform1()
{
. . .
}
private void @__BuildControlTree(default_aspx @__ctrl)
{
IParserAccessor @__parser = ((IParserAccessor) (@__ctrl));
@__parser.AddParsedSubObject(
new LiteralControl(“<html xmlns=\”http://www.w3.org/1999/xhtml\”>”));
@__parser.AddParsedSubObject(new LiteralControl(“\r\n<body>\r\n “));
HtmlForm @__ctrl2 = this.@__BuildControlform1();
@__parser.AddParsedSubObject(@__ctrl2);
@__parser.AddParsedSubObject(
new LiteralControl(“\r\n</body>\r\n</html>\r\n”));
}
protected override void FrameworkInitialize()
{
base.FrameworkInitialize();
this.@__BuildControlTree(this);
}
}
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved