日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
ASP.NETDefault.aspx文件

首先大家看到無論在1.1還是2.0中,用VS創(chuàng)建的網站每個aspx文件都對應一個cs文件(或者vb等其它語言).而cs文件里的類一般和文件同名, 如果遇見關鍵字的情況才會自動使類名前加個'_',例如:_Default.創(chuàng)建的這個cs文件繼承自System.Web.UI.Page類,而且只能\必須繼承該類.原因就是aspx文件是繼承cs文件的.

就拿Default.aspx,Default.aspx.cs文件來說.Default.aspx.cs里包含了類 _Default,繼承字System.Web.UI.Page
通過

 
 
 
  1. publicclass_Default:System.Web.UI.Page
  2. {
  3. privatevoidPage_Load(objectsender,System.EventArgse)
  4. {
  5. //在此處放置用戶代碼以初始化頁面
  6. }
  7. }
  8. }

就能看得出來.
而ASP.NET Default.aspx文件,雖然沒有闡明用的哪個類,但是,實際上已經繼承自_Default類.

 
 
 
  1. <%@Pagelanguage="c#"Codebehind="Default.aspx.cs"AutoEventWireup=
    "false"Inherits="MyTest._Default"%>
  2. >
  3. </strong>Default<strong>
  4. <metanamemetaname="GENERATOR"Content="MicrosoftVisualStudio.NET7.1">
  5. <metanamemetaname="CODE_LANGUAGE"Content="C#">
  6. <metanamemetaname="vs_defaultClientScript"content="JavaScript">
  7. <metanamemetaname="vs_targetSchema"content=
    "http://schemas.microsoft.com/intellisense/ie5">
  8. <bodyMS_POSITIONINGbodyMS_POSITIONING="GridLayout">
  9. <formidformid="Form1"method="post"runat="server">
  10. <FONTfaceFONTface="宋體">

以上代碼***句話***Inherits="MyTest._Default"就表明了這點.這個文件我是以VS2003建立的,也就是 ASP.NET1.1,MyTest是我用的命名空間。

類的運行機制

說了這么多,實際上我們還是沒有說到System.Web.HttpContext類。但是我們現在說的東西對于System.Web.HttpContext類運用很有幫助。

我們訪問了Default.aspx,那么是只訪問ASP.NET Default.aspx文件,或者該類么?答案當然不是。ASP.NET中當子類被請求時,會先實例化父類。先建立父類的字段,然后是構造函數。

 
 
 
  1. publicclass_Default:System.Web.UI.Page
  2. {
  3. privatevoidPage_Load(objectsender,System.EventArgse)
  4. {
  5. //在此處放置用戶代碼以初始化頁面
  6. }
  7. Web窗體設計器生成的代碼#regionWeb窗體設計器生成的代碼
  8. overrideprotectedvoidOnInit(EventArgse)
  9. {
  10. //
  11. //CODEGEN:該調用是ASP.NETWeb窗體設計器所必需的。
  12. //
  13. InitializeComponent();
  14. base.OnInit(e);
  15. }
  16. /**////
  17. ///設計器支持所需的方法-不要使用代碼編輯器修改
  18. ///此方法的內容。
  19. ///
  20. privatevoidInitializeComponent()
  21. {
  22. this.Load+=newSystem.EventHandler(this.Page_Load);
  23. }
  24. #endregion
  25. }

從上面的類中可以看出,該類沒有字段,也沒有構造函數。實例化它又得先實例化System.Web.UI.Page類。 System.Web.UI.Page類不是本文要討論的。在實例化_Default類的時候首先執(zhí)行的是OnInit方法。它重寫了 System.Web.UI.Page.OnInit。然后調用InitializeComponent方法,而InitializeComponent 方法又調用了Load事件,執(zhí)行了Page_Load方法。

在Page_Load方法被執(zhí)行之前,System.Web.UI.Page類的很多對象是不能使用的,比如:Application,Session等。

System.Web.HttpContext類Current屬性的運用

終于說到本文的重點了,可能這部分也不會說很多,但是上面說的確實是為這里服務的。也不多說了,太長的文章一般沒人看,何況我寫的比較膚淺,并且不夠精彩。

Application可以這樣使用:

 
 
 
  1. usingSystem;
  2. usingSystem.Web;
  3. namespaceMyTest
  4. {
  5. /**////
  6. ///MyTest的摘要說明。
  7. ///
  8. publicclassMPage:System.Web.UI.Page
  9. {
  10. publicMPage()
  11. {
  12. //
  13. //TODO:在此處添加構造函數邏輯
  14. //
  15. try
  16. {
  17. if(HttpContext.Current.Application.Count<1)
  18. HttpContext.Current.Application.Add("Title","我的網站");
  19. //在Application沒有被創(chuàng)建的時候執(zhí)行
  20. }
  21. catch
  22. {
  23. HttpContext.Current.Response.Redirect("Err.Htm",true);
  24. //出現錯誤,跳轉到錯誤頁面
  25. }
  26. }
  27. publicstringMy_Title
  28. {
  29. get
  30. {
  31. returnApplication["Title"].ToString();
  32. }
  33. }
  34. }
  35. }

Default.aspx.cs繼承

 
 
 
  1. usingSystem;
  2. usingSystem.Collections;
  3. usingSystem.ComponentModel;
  4. usingSystem.Data;
  5. usingSystem.Drawing;
  6. usingSystem.Web;
  7. usingSystem.Web.SessionState;
  8. usingSystem.Web.UI;
  9. usingSystem.Web.UI.WebControls;
  10. usingSystem.Web.UI.HtmlControls;
  11. namespaceMyTest
  12. {
  13. /**////
  14. ///_Default的摘要說明。
  15. ///
  16. publicclass_Default:MPage
  17. {
  18. privatevoidPage_Load(objectsender,System.EventArgse)
  19. {
  20. //在此處放置用戶代碼以初始化頁面
  21. }
  22. Web窗體設計器生成的代碼#regionWeb窗體設計器生成的代碼
  23. overrideprotectedvoidOnInit(EventArgse)
  24. {
  25. //
  26. //CODEGEN:該調用是ASP.NETWeb窗體設計器所必需的。
  27. //
  28. InitializeComponent();
  29. base.OnInit(e);
  30. }
  31. /**////
  32. ///設計器支持所需的方法-不要使用代碼編輯器修改
  33. ///此方法的內容。
  34. ///
  35. privatevoidInitializeComponent()
  36. {
  37. this.Load+=newSystem.EventHandler(this.Page_Load);
  38. }
  39. #endregion
  40. }
  41. }

ASP.NET Default.aspx文件使用

 
 
 
  1. <%@Pagelanguage="c#"Codebehind="Default.aspx.cs"AutoEventWireup=
    "false"Inherits="MyTest._Default"%>
  2. >
  3. <</strong>%=My_Title%<strong>>
  4. <metanamemetaname="GENERATOR"Content="MicrosoftVisualStudio.NET7.1">
  5. <metanamemetaname="CODE_LANGUAGE"Content="C#">
  6. <metanamemetaname="vs_defaultClientScript"content="JavaScript">
  7. <metanamemetaname="vs_targetSchema"content=
    "http://schemas.microsoft.com/intellisense/ie5">
  8. <bodyMS_POSITIONINGbodyMS_POSITIONING="GridLayout">
  9. <formidformid="Form1"method="post"runat="server">
  10. <FONTfaceFONTface="宋體">

名稱欄目:ASP.NETDefault.aspx文件
文章轉載:http://m.5511xx.com/article/djjoije.html