日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
ASP.NETDefault.aspx文件

首先大家看到無論在1.1還是2.0中,用VS創(chuàng)建的網(wǎng)站每個(gè)aspx文件都對(duì)應(yīng)一個(gè)cs文件(或者vb等其它語言).而cs文件里的類一般和文件同名, 如果遇見關(guān)鍵字的情況才會(huì)自動(dòng)使類名前加個(gè)'_',例如:_Default.創(chuàng)建的這個(gè)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文件,雖然沒有闡明用的哪個(gè)類,但是,實(shí)際上已經(jīng)繼承自_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"就表明了這點(diǎn).這個(gè)文件我是以VS2003建立的,也就是 ASP.NET1.1,MyTest是我用的命名空間。

類的運(yùn)行機(jī)制

說了這么多,實(shí)際上我們還是沒有說到System.Web.HttpContext類。但是我們現(xiàn)在說的東西對(duì)于System.Web.HttpContext類運(yùn)用很有幫助。

我們?cè)L問了Default.aspx,那么是只訪問ASP.NET Default.aspx文件,或者該類么?答案當(dāng)然不是。ASP.NET中當(dāng)子類被請(qǐng)求時(shí),會(huì)先實(shí)例化父類。先建立父類的字段,然后是構(gòu)造函數(shù)。

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

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

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

System.Web.HttpContext類Current屬性的運(yùn)用

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

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:在此處添加構(gòu)造函數(shù)邏輯
  14. //
  15. try
  16. {
  17. if(HttpContext.Current.Application.Count<1)
  18. HttpContext.Current.Application.Add("Title","我的網(wǎng)站");
  19. //在Application沒有被創(chuàng)建的時(shí)候執(zhí)行
  20. }
  21. catch
  22. {
  23. HttpContext.Current.Response.Redirect("Err.Htm",true);
  24. //出現(xiàn)錯(cuò)誤,跳轉(zhuǎn)到錯(cuò)誤頁面
  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窗體設(shè)計(jì)器生成的代碼#regionWeb窗體設(shè)計(jì)器生成的代碼
  23. overrideprotectedvoidOnInit(EventArgse)
  24. {
  25. //
  26. //CODEGEN:該調(diào)用是ASP.NETWeb窗體設(shè)計(jì)器所必需的。
  27. //
  28. InitializeComponent();
  29. base.OnInit(e);
  30. }
  31. /**////
  32. ///設(shè)計(jì)器支持所需的方法-不要使用代碼編輯器修改
  33. ///此方法的內(nèi)容。
  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="宋體">

網(wǎng)站名稱:ASP.NETDefault.aspx文件
轉(zhuǎn)載來于:http://www.dlmjj.cn/article/djjoije.html