好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 驗證一個ASP.NET應用程序和頁面的生命周期的實現(xiàn)代碼

驗證一個ASP.NET應用程序和頁面的生命周期的實現(xiàn)代碼

熱門標簽:山西防封卡電銷卡套餐 陜西人工外呼系統(tǒng)哪家好 銅川小型外呼系統(tǒng)運營商 上海楊浦怎么申請申請400電話 地圖標注多個行程 云南外呼電銷機器人系統(tǒng) 廈門商鋪地圖標注 海外地圖標注門市標 浙江外呼系統(tǒng)怎么安裝
如果我們能更好地掌握這樣一個過程,那么對單個ASP.NET Page的生命周期也能更好地了解:
下面介紹如何編寫一個簡單的ASP.NET 頁面和一個簡單的HttpModule,對MSDN里提到的ASP.NET的生命周期進行驗證
1. 首先使用Visual Studio 2010建立一個空的ASP.NET網(wǎng)站 (ASP.NET 4.0)
2. 添加一個Default.aspx,添加三個ASP.NET控件,分別為TextBox,Button和Validator:
復制代碼 代碼如下:
  
form id="form1" runat="server">
div>
asp:TextBox ID="txtName" runat="server">/asp:TextBox>
asp:Button ID="btnSubmit" runat="server" Text="OK" onclick="btnSubmit_Click" />
asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Please input your name!" ControlToValidate="txtName" ForeColor="#FF3300">
/asp:RequiredFieldValidator>
/div>
/form>

3. 添加一個ASP.NEt的App_code文件夾,新建一個類,內(nèi)容為:
復制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
public class TestClass : IHttpModule
{
HttpApplication httpApp;
public static Liststring> EventList = new Liststring>();
public TestClass()
{
}
public void Dispose()
{ }
public void Init(HttpApplication context)
{
this.httpApp = context;
//EventList.Clear();
EventList.Add("Initiated");
context.BeginRequest += new EventHandler(context_BeginRequest);
context.AuthenticateRequest += new EventHandler(context_AuthenticateRequest);
context.AuthorizeRequest += new EventHandler(context_AuthorizeRequest);
context.ResolveRequestCache += new EventHandler(context_ResolveRequestCache);
context.AcquireRequestState += new EventHandler(context_AcquireRequestState);
context.PreRequestHandlerExecute += new EventHandler(context_PreRequestHandlerExecute);
context.PostReleaseRequestState += new EventHandler(context_PostReleaseRequestState);
context.ReleaseRequestState += new EventHandler(context_ReleaseRequestState);
context.UpdateRequestCache += new EventHandler(context_UpdateRequestCache);
context.EndRequest += new EventHandler(context_EndRequest);
}
private void context_EndRequest(object sender, EventArgs e)
{
EventList.Add("HTTP Modules: End Request hr>");
foreach (string str in EventList)
{
httpApp.Response.Write(str + "br>");
}
EventList.Clear();
}
void context_UpdateRequestCache(object sender, EventArgs e)
{
EventList.Add("HTTP Modules: Update Request Cache");
}
void context_ReleaseRequestState(object sender, EventArgs e)
{
EventList.Add("HTTP Modules: Release Request State");
}
void context_PostReleaseRequestState(object sender, EventArgs e)
{
EventList.Add("HTTP Modules: Post Release Request State");
}
void context_PreRequestHandlerExecute(object sender, EventArgs e)
{
EventList.Add("HTTP Modules: Pre Request Handler Execution");
}
void context_AcquireRequestState(object sender, EventArgs e)
{
EventList.Add("HTTP Modules: Acquire Request State");
}
void context_ResolveRequestCache(object sender, EventArgs e)
{
EventList.Add("HTTP Modules: Resolve Request");
}
void context_AuthorizeRequest(object sender, EventArgs e)
{
EventList.Add("HTTP Modules: Authorize Request");
}
void context_AuthenticateRequest(object sender, EventArgs e)
{
EventList.Add("HTTP Modules: AuthenticateRequest");
}
void context_BeginRequest(object sender, EventArgs e)
{
EventList.Add("HTTP Modules: Begin Request");
}
}

4. 修改剛才的Default.aspx的后臺cs代碼:
復制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Init()
{
TestClass.EventList.Add("ASP.NET Page: Page_Init");
}
protected void Page_Load(object sender, EventArgs e)
{
TestClass.EventList.Add("ASP.NET Page: Page_Load");
}
public override void Validate()
{
TestClass.EventList.Add("ASP.NET Page: Validated");
base.Validate();
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
TestClass.EventList.Add("ASP.NET Page: Event");
}
protected override void Render(HtmlTextWriter writer)
{
TestClass.EventList.Add("ASP.NET Page: Render");
base.Render(writer);
}
protected void Page_Unload(object sender, EventArgs e)
{
TestClass.EventList.Add("ASP.NET Page: Unload");
}
}

5. 修改web.config內(nèi)容如下:
復制代碼 代碼如下:

configuration>
system.web>
compilation debug="true" targetFramework="4.0"/>
/system.web>
system.web>
httpModules>
add name="TestClass" type="TestClass"/>
/httpModules>
/system.web>
/configuration>

6. Ctrl+F5執(zhí)行,在瀏覽器里可以看到:

7. 在文本框內(nèi)輸入內(nèi)容,可得:

 
結(jié)論:
1. Module只初始化了一次,當頁面postback的時候,module不會再初始化。
2. Validate和Event事件在頁面第一次初始化的時候不會觸發(fā),但是由于頁面本身存在validate控件和事件按鈕,所以這兩個事件在第二次會被觸發(fā)。
本文參考了codeproject.com的如下一篇文章http://www.codeproject.com/KB/aspnet/ASPDOTNETPageLifecycle.aspx

您可能感興趣的文章:
  • ASP.NET Web頁生命周期和執(zhí)行的方法介紹
  • 詳解ASP.NET頁面生命周期事件
  • IIS處理Asp.net請求和Asp.net頁面生命周期詳細說明
  • 詳解ASP.NET頁面生命周期
  • asp.net頁面生命周期詳解
  • ASP.NET服務(wù)器控件的生命周期分析
  • IIS處理Asp.net請求和Asp.net頁面生命周期說明
  • 深入理解Asp.Net中WebForm的生命周期

標簽:信陽 許昌 自貢 常州 西雙版納 孝感 朔州 萊蕪

巨人網(wǎng)絡(luò)通訊聲明:本文標題《驗證一個ASP.NET應用程序和頁面的生命周期的實現(xiàn)代碼》,本文關(guān)鍵詞  驗證,一個,ASP.NET,應用程序,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《驗證一個ASP.NET應用程序和頁面的生命周期的實現(xiàn)代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于驗證一個ASP.NET應用程序和頁面的生命周期的實現(xiàn)代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 整部剧都在doi的动漫| ass女人毛茸茸pics| 18美女福利视频网站免费观看| 爽?躁多水?快?深点触手| 国产三级生活片| 亚洲三页| 国产黃色A片三区三区三小说| 性做久久久久免费看| 经典性色生活片| 一级a婬片试看3o分钟囗交| xxxx美国18| 亚洲无吗视频| 亚洲AV一区二区在线紧身裙教师| 午夜100| 色咪味成人网| 熟女ペッティングとさどの动漫 | 免费一级毛片久久久人妖| 双性嗯啊~h坐下来h| 三级4级全黄60分钟电影| 巜被蹂躏的奶水1在线观看| 巧家县| 美女的下部隐私秘?QQ群| 77777亚洲午夜久久多喷| 亚洲国产综合自在线婷婷| 国产AV精品 | 女色狠xx网18| 无码精品一区二区三区四区爱奇艺| 抖抈探探app入口免费| 双性寡夫受农村糙汉攻np粗俗| 把女人弄特爽黄a大片 剧情简介| 亚洲精品久久久无码| 亚洲无线码一区二区三区在线观看| 高HNP汁水bl总受| 被陌生人强的辣文| 黄页网站免费观看| 中文字幕三区| 成人18网址在线观看| 强行扒开双腿猛烈进入免费版| 成人深夜福利视频| 翁熄浪公夜夜欢| 色91蜜臀Av无码波多野结衣|