ASP.Net 內置對象

      網友投稿 559 2025-04-01

      Response對象

      Response對象主要用于將數據從服務器發送回瀏覽器。

      2、Response對象的常用屬性及說明

      屬性

      說明

      Buffer

      獲取或設置一個值,該值指示是否緩沖輸出,并在完成處理整個相應之后將其發送。

      Cache

      獲取Web頁的緩存策略,如過去時間、保密性、變化字句等。

      Charset

      設定或獲取HTTP的輸出字符編碼

      Expires

      獲取或設置在瀏覽器上緩存的頁過期之前的分鐘數

      BufferOutput

      獲取或設置一個值,該值指示是否緩沖輸出,并在完成處理整個頁之后將其發送。

      Cookies

      獲取當前請求的Cookie集合。

      IsClientConnected

      傳回客戶端是否仍然和Server連接

      SuppressContent

      設定是否將HTTP的內容發送至客戶端瀏覽器。若為true,則網頁將不會傳至客戶端。

      BufferOutput屬性

      該屬性用于獲取或設置一個值,該值指示是否緩沖輸出,并在完成處理整個頁之后將其發送。語法如下:

      Public bool BufferOutput{get;set;}

      數型值:如果緩沖了到客戶端的輸出,則為true;否則為False。默認為True。

      protected void Page_Load(object sender, EventArgs e) {

      Response.BufferOutput = true;

      Response.Write("測試");

      }

      IsClientConnected屬性

      該屬性用于獲取一個值,通過該值指示客戶端是否仍連接在服務器上。

      語法如下:public bool IsClientConnected{get;}

      屬性值:如果客戶端當前仍在連接,則為true,否則為false。例:

      protected void Page_Load(object sender, EventArgs e)

      {

      if (Response.IsClientConnected)

      Response.Redirect("WebForm1.aspx");

      else

      Response.End();

      }

      Response常用的方法及說明

      AddHeader

      將一個HTTP頭添加到輸出流

      AppendToLog

      將自定義日志信息添加到IIS日志文件。

      Clear

      將緩沖區的內容清除。

      End

      將目前緩沖區中所有的內容發送至客戶端,然后關閉。

      Flush

      將緩沖區所有的數據發送至客戶端。

      Redirect

      將網頁重新導向另一地址。

      Write

      將數據輸出到客戶端

      WriteFile

      將制定的文件直接寫入HTTP輸出流

      Redirect方法 該方法用于將網頁重新導向另一個地址。語法如下:

      Public void Redirect(string url)

      參數url:客戶端用來定位請求資源的URL

      說明:在構建Web頁面時,需要用戶導向另外一個頁面。例如,用戶查詢資料時就需要跳轉,這時可以使用Page類的Redirect屬性中的一個對象Redirect幫助完成工作。

      例:用戶從登陸頁面進入網站主頁時,輸入合法的用戶名和密碼之后,通過調用Response對象的Redirect方法就可以跳轉到網站主頁面。代碼如下:Response.Redirect(“Index.aspx”);

      (2)Write方法

      該方法用于將數據輸出到客戶端,語法如下:Response.Write(“輸出字符串”);

      例:

      Response test

      <%

      For ( int i=0;i<50;i++){ Response.Write(“X”);}

      %>

      (3)WriteFile方法

      該方法用于將指定的文件直接寫入HTTP輸出流。語法如下:public void WriteFile(string filename);參數filename:要寫入HTTP輸出的文件名。例:

      Response.WriteFile(Server.MapPath(@”TextFile.txt”);

      Request對象

      Request對象,可稱為請求對象。該對象是HttpRequest類的一個實例,用于提供當前頁請求訪問,其中包括標題、CooKie、查詢字符串等,用戶可以使用此類來讀取瀏覽器已經發送的內容。當用戶打開瀏覽器,并從網站請求web頁時,Web服務器就會收到一個請求,其中包含用戶、用戶的計算機、頁面以及瀏覽器的相關信息,這些信息將被完整的封裝,并在Request對象中利用他們。以上這些信息都是通過Request對象一次性提供的。

      Request對象的常用屬性及說明

      ApplicationPath

      獲取服務器上ASP.NET應用程序虛擬應用程序的根目錄路徑

      Browser

      獲取或設置有關正在請求的客戶端瀏覽器的功能信息

      ContentLength

      指定客戶端發送的內容長度(以字節計)

      Cookies

      獲取客戶端發送的Cookie集合

      FilePath

      獲取當前請求的虛擬路徑

      Files

      獲取客戶端上載的文件集合

      Form

      獲取窗體變量的集合

      Item

      從Cookies、Form、QueryString或ServerVariables集合獲取指定的對象

      Params

      獲取QueryString、Form、ServerVariables和Cookies項的組合集合

      Path

      獲取當前請求的虛擬路徑

      QueryString

      獲取HTTP查詢字符串變量集合

      UserHostAddress

      獲取遠程客戶端IP主機地址

      UserHostName

      獲取遠程客戶端DNS名稱

      Browser屬性 該屬性用于獲取或設置有關正在請求的客戶端瀏覽器的信息。語法如下:public HttpBrowserCapabilies Browser{get;set;}

      屬性值:列出客戶端瀏覽器功能的HttpBrowserCapabilities對象。例:

      protected void Page_Load(object sender, EventArgs e)

      {

      Response.Write("瀏覽器使用的平臺:"+Request.Browser.Platform+"
      "+"瀏覽器類型:"+Request.Browser.Type+"
      "+"瀏覽器版本:"+Request.Browser.Version);

      }

      QueryString屬性

      該屬性用于獲取HTTP查詢字符串變量的集合、

      語法如下:public NameValueCollection QueryString{get;}

      屬性值:NameValueCollection,包含由客戶端發送的查詢字符串變量的集合。

      Request對象的常用的方法及說明

      方法

      說明

      MapPath

      將當前請求的URL中的虛擬路徑映射到服務器上的物理路徑

      SaveAs

      將HTTP請求保存到磁盤

      MapPath方法

      該方法用于接收一個字符串類型的參數,并返回當前文件所在的實際路徑。該方法主要應用在需要使用實際路徑的位置。例如,建立數據源連接是,必須制定完整的路徑,這是就可以使用MapPath方法將其取回。語法如下:

      Public string MapPath(string virtualPath)

      參數virtualPath:當前請求的虛擬路徑(絕對路徑或相對路徑)。

      返回值:由virtualPath指定的服務器物理路徑。

      例如,下面的代碼用來取得頁面Default.aspx的物理路徑。

      String str=Request.MapPath(“Default.aspx”);

      (2)SaveAs方法

      該方法用于將HTTP請求保存到硬盤上,在調試過程中非常有用。

      語法如下:

      Public void SaveAs(string filename.bool includeHeaders)

      參數說明:filename:物理驅動器路徑。

      IncludeHeaders:一個布爾值,該值指定是否將HTTP頭保存到磁盤。例:

      protected void Page_Load(object sender, EventArgs e)

      {

      Request.SaveAs(Server.MapPath("TextFile1.txt"), true);

      }

      Response應用

      例:當程序運行時,在頁面Default.aspx中的TestBox文本框輸入一個值,單擊搜索按鈕,將Testbox文本框中的值傳到WebForm1.aspx頁面的地址欄中。

      主要代碼:

      1、Default.aspx

      protected void btnSearch_Click(object sender, EventArgs e)

      {

      Response.Redirect("WebForm1.aspx?id=" + txt.Text);

      }

      2、WebForm1.aspx

      protected void Page_Load(object sender, EventArgs e)

      {

      Response.Write("地址欄傳值id為:" + Request.QueryString["id"]);

      }

      Application對象

      Application對象,可稱之為記錄應用程序參數的對象,主要用于共享應用程序集信息。Application對象用于共享應用程序集信息,即多個用戶共享一個Application對象。在第一個用戶請求ASP.NET文件時,將啟動應用程序并創建Application對象。一旦Application對象被創建,它就可以共享和管理整個應用程序的信息。在應用程序關閉之前,Application對象將一直存在。所以,Application對象是用于啟動和管理ASP.NET應用程序的主要對象。

      Application對象的常用屬性及說明

      屬性

      說明

      AllKeys

      返回全部Application對象變量名到一個字符串數組中

      Count

      獲取Application對象變量的數量

      Item

      允許使用索引或Application變量名傳回內容值。

      Count屬性 該屬性用于獲取Application對象變量的數量

      語法如下:public override int Count{get;}屬性值:集合中的Item對象數,默認值為0。例:

      protected void Page_Load(object sender, EventArgs e)

      {

      Application["app1"] = "app1";

      Application["app2"] = "app2";

      Response.Write("Application對象的數量為:" + Application.Count);

      }

      Item屬性 該屬性可以重載,有兩種格式,分別通過索引和名稱來獲取單個Application對象的值。語法如下:

      Public Object this[int index]{get;}//index集合中對象的數字索引

      Public Object this [string name]{get;set;}//集合中的對象名

      例:

      protected void Page_Load(object sender, EventArgs e)

      {

      Application["app1"] = "app1";

      Application["app2"] = "app2";

      Response.Write(Application["app1"].ToString());

      Response.Write(Application[1].ToString());

      }

      Application對象的常用方法及說明

      方法

      說明

      Add

      新增一個Application對象變量

      Clear

      清除全部Application對象變量

      Lock

      鎖定全部Application對象變量

      Remove

      使用變量名移除一個Application對象變量

      RemoveAll

      移除全部Application對象變量

      UnLock

      解除鎖定的Application對象變量

      Add方法 該方法用于將新變量添加到Application集合中。語法如下:

      Public void Add(string name,Object value);

      參數說明: name:要添加到Application對象中的變量名。Value:變量的值。例:

      Application.Add(“mr”,”mr”); Application.Add(“mrsoft”,”mrsoft”);

      (2) Lock方法 該方法用于鎖定全部的Application對象變量。語法如下:

      Public void Lock();

      例如:統計在線人數時,就應該先對Application對象家鎖,以防止因為多個用戶同時方位頁面而造成并行。常用格式如下:

      Application.Lock();Application(“變量”)=”表達式”;Application.UnLock();

      說明:Lock方法可以阻止其他用戶修改存儲在Application對象中的變量,以確保在同一時刻僅有一個用戶可以修改和存取Application變量。如果用戶沒有明確使用Unlock方法,則服務器將在頁面文件結束或超出時即解除對Application對象的鎖定。Unlock方法可以使其他客戶端使用Lock方法鎖住Application對象后,修改存儲在該對象中的變量。如果未顯式地調用該方法,Web服務器將在頁面文件結束或超出后解鎖Application對象。

      Remove方法 該方法用于指定變量從Application集合中移除。語法如下:

      Public void Remove(string name)

      參數Name:要從Application對象中移除的變量名。

      例如:下面的代碼將mr的應用程序變量從Application集合中移除。

      Application.Remove(“mr”);

      如果壓移除Application集合中所有變量,可以直接調用其RemoveAll方法。代碼如下:Application.RemoveAll();

      Application對象常用的事件

      Application_Start事件,在首次創建新的會話之前發生,只有Application和Server內置對象可使用。在Application_Start事件中引用Session、Request

      或Response對象將導致錯誤。由于Application對象是多用戶共享的,因此它與Session對象有著本質的區別;同時Application 對象不會因為一個甚至全部用戶離開而消失,一旦建立了Application對象,他就會一直存在直到網站關閉或者該Application對象被卸載,這通常需要很長時間。由于Application對象創建之后不會自己注銷,因此一定要特別小心地使用。另外,它會占用內存,要避免降低服務器對其他工作的相應速度。中止Application對象有3中方法,分別為服務被終止,Global.asax文件被改變或者該Application對象被卸載。例:

      protected void Application_Start(object sender, EventArgs e)

      {

      Application["Name"] = "sgusauyfdsg";

      }

      Application_End事件 在應用程序退出時用于Session_End事件之后發生,只有Application和Server內置對象可使用。Application_End事件只有在服務中止或者Application對象卸載時才會觸發。如果單獨使用Application對象,該事件可以通過Application對象再利用Unload事件卸載時進行觸發。一個Application_End事件肯定發生在Session事件之后。Application_End事件觸發唯一一個腳本程序,它存在于Global.asax文件中。注:若果希望服務中止或者Application對象卸載時執行某些操作,可以在Application_End事件中編寫相應的代碼。

      Session對象

      Session對象用來存儲跨網頁程序的變量或者對象。該對象只對單一網頁使用者,也就是服務器會為連接的客戶端分配各自的Session對象,不同的客戶端無法相互存取。當超過設置的有效時間時,Session對象就會消失。與Application對象一樣,Session對象也是Page對象的成員,因此可直接在網頁中使用。使用Session對象存放信息的語法如下:

      Session[“變量名”]=“內容”;

      Session對象常用的屬性及說明

      屬性

      說明

      Contents

      獲取對當前會話狀態對象的引用

      Item

      獲取或設置會話值

      TimeOut

      設置Session對象的有效時間,默認值為20分鐘

      Contents屬性 獲取當前會話狀態對象的引用。語法如下:

      Public HttpSessionState Contents{get;}

      屬性值:當前的HttpSessionState

      例:

      protected void Page_Load(object sender, EventArgs e)

      {

      Session["id1"] = "id1e";

      Session["id2"] = "isd2";

      foreach (string str in Session.Contents)

      {

      Response.Write(Session[str].ToString());

      Response.Write("
      ");

      }

      }

      (2)TimeOut屬性

      該屬性用于獲取并設置在會話狀態提供程序終止會話之前各請求之間所允許的時間(以分鐘為單位)。

      語法:public int TimeOut{get;set;}

      屬性值:超時時限(以分鐘為單位)

      注:更改Timeout屬性的值也可以在Web.Config中,使用sessionSate配置元素的timeout屬性來設置Timeout屬性,也可以使用程序代碼直接設置Timeout屬性值。Timeout屬性不能超過525600(1年)的值。

      例:?

      Session對象常用的方法

      屬性

      說明

      Abandon

      結束當前會話,并清除會話中的所有信息。

      Add

      用于向Session對象集合中添加一個新項

      CopyTo

      將會話狀態值的集合復制到一維數組中

      Clear

      清除全部的Session對象變量,但不結束會話

      Clear 該方法用于清除全部Session對象變量。

      語法如下:public void Clear()

      例:Session.Clear();

      Add 該方法用于向Session對象集合中添加一個新項。

      語法如下:public void Add(string name,Object value);

      參數說明:name 要添加到Session對象集合中的名稱

      Value要添加到Session對象集合中的項的值。

      ASP.Net 內置對象

      例:Session.Add(“test”,”test文本”);

      Session對象應用:Session對象的用途有很多,如存儲變量,判斷用戶是否登錄等。例:

      (1)登錄頁面

      代碼:

      protected void btnLogin_Click(object sender, EventArgs e)

      {

      if (txtName.Text == "mr" && txtPwd.Text == "mrsoft")

      {//使用Session變量記錄用戶名

      Session["UserName"] = txtName.Text;

      //使用Session變量記錄用戶登錄系統的時間?????????????????? ??????????? Session["TimeLogin"] = DateTime.Now;

      Response.Redirect("~/UserPage.aspx");//跳轉到主頁

      }

      else

      {

      Response.Write("");

      }

      }

      (2)Session對象記錄用戶登錄名及登錄時間

      protected void Page_Load(object sender, EventArgs e)

      {

      Response.Write("歡迎用戶" + Session["UserName"].ToString() + "登錄本系統!
      ");

      Response.Write("您登錄的時間為:" + Session["TimeLogin"].ToString());

      }

      CooKie對象

      Cookie對象用于保存客戶端瀏覽請求的服務器頁面,也可用它放非敏感信息,信息保存的時間可以根據用戶的需要進行設置。并非所有的瀏覽器支持Cookie,并且數據信息以文本形式保存在客戶端計算機中。

      Cookie對象常用的屬性及說明

      屬性

      說明

      Clear

      清除所有的Cookie

      Expires

      設定Cookie變量的有效時間,默認為100分鐘,若設置為0,則實時刪除Cookie變量。

      Name

      取得Cookie變量的名稱

      Value

      獲取或設置Cookie變量的內容值

      Path

      設置與當前Cookie一起傳輸的虛擬路徑

      Expires屬性 該屬性用于設置Cookie對象的兩個常用屬性。語法如下:

      Public Datatime Expires{get;set;}

      屬性值:Cookie的過去時間(在客戶端)

      例:? protected void Page_Load(object sender, EventArgs e)

      {

      HttpCookie cookie = new HttpCookie("UserName");

      cookie.Value = "明日科技";

      cookie.Expires = DateTime.Now.AddMinutes(20);

      }

      Path屬性 用于設置與當前Cookie一起傳輸的虛擬路徑

      語法如下:public string Path{get; set;}

      屬性值:要與前Cookie一起傳輸的虛擬路徑。默認為當前請求的路徑。例:

      HttpCookie cookie = new HttpCookie("UserName");

      cookie.Value = "明日科技";

      cookie.Expires = DateTime.Now.AddMinutes(20);

      Response.Cookies.Add(cookie);

      Response.Write(Request.Cookies["UserName"].Path);

      Cookie對象的常用的方法及說明

      方法

      說明

      Equals

      確定指定Cookie是否等于當前的Cookie

      ToString

      返回此Cookie對象的一個字符串表示形式

      ToString方法 表示當前Object 的String。語法如下:

      Public virtual string ToString()

      返回值:string,表示當前的Object

      Equals方法 用于確定指定的Object是否等于當前的Object。語法如下:

      Public virtual bool Equals(Object obj)

      返回值:如果指定的Object等于當前的Object,則為true,否則為false

      例:protected void Page_Load(object sender, EventArgs e)

      {

      //聲明一個HttpCookie實例cookie1

      HttpCookie cookie1 = new HttpCookie("userName1");

      cookie1.Value = "明日科技";? //賦值給cookie1

      //聲明一個HttpCookie實例cookie1

      HttpCookie cookie2 = new HttpCookie("UserName2");

      cookie2.Value = "明日科技";??????????????? //賦值給cookie1

      Response.Cookies.Add(cookie1);?????????? //添加cookie1

      Response.Cookies.Add(cookie2);?????????? //添加cookie2

      if(Equals(Request.Cookies["userName1"].Value, Request.Cookies["userName2"].Value))

      Response.Write("Cookie值相等"); //兩個Cookie對象的值是否相等

      else

      Response.Write("Cookie值不相等");

      }

      Server對象

      Sever對象定義了一個與Web服務器相關的類,用于訪問指定服務器上的資源。

      Server對象的常見屬性及說明

      屬性

      說明

      MachineName

      獲取服務器的計算機名稱

      ScriptTimeout

      獲取或設置請求超時值(以秒計)

      MachineName屬性 該屬性用于獲取服務器的計算機名稱。語法如下:

      Public string MachineName{get;}

      屬性值:本地計算機的名稱

      例:Response.Write(Server.MachineName.ToString());

      ScriptTimeout 該屬性用于獲取或設置請求超時值。語法如下:

      Public int ScriptTimeout{get;set;}

      屬性值:請求超時值設置

      Server對象常用的方法及說明

      方法

      說明

      HtmlDecode

      對已被編碼以消除無效HTML字符的字符串進行編碼

      HtmlEnCode

      對要在瀏覽器中顯示的字符串進行編碼

      MapPath

      返回與Web服務器上的指定虛擬路徑相對應的物理文件路徑

      UrlDecode

      對字符串進行編碼,該字符串為了進行HTTP傳輸而進行編碼并在URL中發到服務器

      UrlEncode

      編碼字符串,以便通過URL從Web服務器到客戶端進行可靠的HTTP傳輸

      MapPath方法?? 用于返回與Web服務器上的指定虛擬路徑相對的物理文件路徑。語法如下:public string MapPath(string path)

      參數path: web服務器的虛擬路徑

      例:Response.Write(Server.MapPath("Default.aspx"));

      HtmlEncode方法 用于對字符串進行HTML編碼,并返回已編碼的字符串。語法如下:public string HtmlEncode(string s)

      例:Server.HtmlEncode(“瀏覽器中字符串”+”
      ”);

      //結果:瀏覽器中字符串

      HtmlDecode方法 用于字符串進行HTML編碼并返回已編碼的字符串

      語法如下:public string HtmlDecode(string s)

      參數:s 要舅媽的HTML字符串

      例:Server.HtmlEncode(“瀏覽器中字符串”+”
      ”);//結果:瀏覽器中字符串

      綜合應用:

      例1,統計IP地址的登錄次數

      后臺代碼:

      protected void Page_Load(object sender, EventArgs e)

      {

      if (!IsPostBack)

      {

      int lastVisitCounter;

      if (Request.Cookies["lastVisitCounter"] == null)

      lastVisitCounter = 0;

      else

      lastVisitCounter = int.Parse(Request.Cookies["lastVisitCounter"].Value);

      lastVisitCounter++;

      HttpCookie aCookie = new HttpCookie("lastVisitCounter");

      aCookie.Value = lastVisitCounter.ToString();

      aCookie.Expires = DateTime.MaxValue;

      Response.Cookies.Add(aCookie);

      txtSum.Text = lastVisitCounter.ToString();

      }

      }

      protected void Button1_Click(object sender, EventArgs e)

      {

      if (Request.Cookies["lastVisitCounter"] == null)

      txtSum.Text = "1";

      else

      {

      HttpCookie aCookie = Request.Cookies["lastVisitCounter"];

      txtSum.Text = Server.HtmlEncode(aCookie.Value);

      }

      }

      例2、獲取瀏覽器的信息

      protected void Page_Load(object sender, EventArgs e)

      {

      //獲取瀏覽器的平臺、類型和版本信息

      lblinfo.Text = "瀏覽器使用的平臺:" + Request.Browser.Platform + "
      "

      + "瀏覽器類型:" + Request.Browser.Type + "
      " + "瀏覽器版本:"

      + Request.Browser.Version;

      }

      例3、輸出文本文件的內容

      protected void Page_Load(object sender, EventArgs e)

      {

      if (!IsPostBack)

      {

      StreamReader sr = File.OpenText(Server.MapPath("桃花仙人.txt"));

      string rl;

      while ((rl = sr.ReadLine()) != null)

      {

      Response.Write(rl+"
      ");

      }

      sr.Close();

      }

      }

      例4、創建一個網站,使用Response對象的Redirect方法實現頁面跳轉并傳遞參數。

      Default.aspx頁面

      protected void Button1_Click(object sender, EventArgs e)

      {

      //獲取用戶名和密碼

      string name = txtUserName.Text.Trim();

      string pwd = txtPwd.Text.Trim();

      string strsql = "select count(1) from tb_user where userName='" + name + "' and userPwd='" + pwd + "'";

      SqlConnection conn =new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["conn"].ToString());

      conn.Open();

      SqlCommand cmd = new SqlCommand(strsql, conn);

      int flag = int.Parse(cmd.ExecuteScalar().ToString());

      conn.Close();

      if (flag > 0)

      {

      Session["users"] = name;

      Response.Redirect("admin.aspx");

      }

      else

      {

      ClientScript.RegisterStartupScript(this.GetType(), "", "alert('用戶名或密碼錯誤');", true);

      }

      }

      Admin.aspx

      protected void Page_Load(object sender, EventArgs e)

      {

      if (!IsPostBack)

      {

      if (Session["users"] != null)

      {

      lblinfo.Text = "恭喜你,登錄成功";

      }

      }

      }

      例5、驗證碼

      起始頁Default2.aspx

      無標題頁


      請輸入正確的驗證碼:

      protected void Button1_Click(object sender, EventArgs e)

      {

      string checkCode = Request.Cookies["CheckCode"].Value.ToString().ToLower();

      if (checkCode.Equals(TextBox1.Text.ToLower()))

      {

      Response.Write("");

      }

      }

      Default.aspx后臺代碼

      private string GenerateCheckCode()

      {

      int number;

      char code;

      string checkCode = String.Empty;

      Random random = new Random();

      for (int i = 0; i < 4; i++)

      {

      number = random.Next();

      if (number % 2 == 0)

      code = (char)('0' + (char)(number % 10));

      else

      code = (char)('A' + (char)(number % 26));

      checkCode += code.ToString();

      }

      HttpCookie cookie = new HttpCookie("CheckCode", checkCode);

      cookie.Expires = DateTime.Now.AddSeconds(30);

      Response.Cookies.Add(cookie);

      return checkCode;

      }

      protected void Page_Load(object sender, EventArgs e)

      {

      string checkCode = GenerateCheckCode();

      System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 20.5)), 22);

      Graphics g = Graphics.FromImage(image);

      try

      {

      //生成隨機生成器

      Random random = new Random();

      //清空圖片背景色

      g.Clear(Color.White);

      //畫圖片的背景噪音線

      for (int i = 0; i < 2; i++)

      {

      int x1 = random.Next(image.Width);

      int x2 = random.Next(image.Width);

      int y1 = random.Next(image.Height);

      int y2 = random.Next(image.Height);

      g.DrawLine(new Pen(Color.Black), x1, y1, x2, y2);

      }

      Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold));

      System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);

      g.DrawString(checkCode, font, brush, 2, 2);

      //畫圖片的前景噪音點

      for (int i = 0; i < 100; i++)

      {

      int x = random.Next(image.Width);

      int y = random.Next(image.Height);

      image.SetPixel(x, y, Color.FromArgb(random.Next()));

      }

      g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1); //畫圖片的邊框線

      System.IO.MemoryStream ms = new System.IO.MemoryStream();

      image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

      Response.ClearContent();

      Response.ContentType = "image/Jpeg";

      Response.BinaryWrite(ms.ToArray());

      }

      finally

      {

      g.Dispose();

      image.Dispose();

      }

      }

      例6、統計網站的訪問量

      Default.asp前臺代碼

       

       

       

       

       

      您是第<%=Application["counter"]%>位訪問者 

      Global.aspx代碼

      <%@ Application Language="C#" %>

      例7、統計當前在線人數。當新用戶訪問網站時,會觸發Session_Start事件,當用戶有效期失效時,會觸發Session——End事件。所以在這兩個事件統計在線人數是比較科學的。

      Default.aspx前臺代碼

      style="background-image: url('網站在線訪問人數統計.png')">

       

      Default.aspx后臺代碼

      protected void Page_Load(object sender, EventArgs e)

      {

      lblCount.Text="您是第" + Application["count"].ToString() + "位訪客";

      }

      Global.asax文件代碼

      <%@ Application Language="C#" %>

      ASP ASP.NET

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel怎么使用vba自動調整列寬
      下一篇:修改WPS表格中的單元格網格線顏色的方法(如何調整wps網格線顏色)
      相關文章
      亚洲国产成人99精品激情在线| 亚洲一区免费观看| 亚洲码一区二区三区| 久久精品亚洲综合专区| 亚洲色婷婷六月亚洲婷婷6月| 亚洲国产中文v高清在线观看| 亚洲av无码专区国产不乱码| 亚洲精品123区在线观看| 亚洲午夜国产精品| 亚洲人成网站18禁止久久影院| 亚洲精品免费观看| 亚洲AV永久无码区成人网站| 亚洲AV电影院在线观看| 亚洲精品无码久久久久去q | 亚洲精品国产日韩无码AV永久免费网| 亚洲av片在线观看| 精品亚洲国产成人av| 在线看亚洲十八禁网站| 亚洲AV成人片无码网站| mm1313亚洲国产精品美女| 亚洲人妻av伦理| 亚洲成a人片7777| 亚洲精品午夜在线观看| 亚洲AV综合色区无码二区爱AV| 亚洲中文无韩国r级电影| 亚洲人成色7777在线观看不卡| 国产尤物在线视精品在亚洲| 国产色在线|亚洲| 亚洲av日韩av无码av| 亚洲日本VA中文字幕久久道具| 久久亚洲色WWW成人欧美| 国产成人高清亚洲一区91| 毛茸茸bbw亚洲人| 亚洲成在人线av| 亚洲成A∨人片在线观看不卡| 亚洲综合视频在线| ass亚洲**毛茸茸pics| 亚洲AV永久无码精品一福利| 朝桐光亚洲专区在线中文字幕 | 亚洲成AV人影片在线观看| 国产99久久亚洲综合精品|