02-ASP.Net(基礎介紹)

Cxxxxy發表於2020-10-04

02-ASP.Net(基礎介紹)

1、概述

  • 什麼是ASP.Net網頁
    ASP.Net網頁也成為web窗體,副檔名為aspx,如果有程式碼隱藏檔案(存放實現網頁功能的程式碼檔案),擴充名為aspx.cs。
    ASP.Net網頁可以分成兩部分:可視元素(標記、控制元件、靜態文字)和頁的邏輯(程式碼,在script塊或者單獨的類中,與頁進行互動)。
  • Page類
    每個ASP.Net網頁都直接或者間接地繼承了Page類。Page類中定義了網頁所需要的基本屬性、事件和方法。
  • 特點
    1、在伺服器上執行的程式碼動態地生成到瀏覽器或客戶端裝置的web頁輸出。
    2、相容所有瀏覽器或移動裝置。
    3、相容.NET公共語言執行庫所支援的任何語言。
    4、提供了Microsoft.NET Framework的所有優點。
    5、提供強大的RAD工具Visual Studio,對窗體進行設計和程式設計。
    6、靈活,可以新增使用者建立的控制元件和第三方控制元件。
  • 儲存模式
    ASP.Net提供了兩個用來管理可視元素和程式碼的模型,單檔案模型和程式碼隱藏模型。這兩個模型功能相同,可以用相同的控制元件和程式碼。
    1、單檔案模型
    標記和程式碼都在.aspx檔案中,程式碼位於script塊中,該塊有 runat="server"屬性,這個屬性的作用是將程式碼標記為頁面要執行的程式碼。
<%@ Page Language="C#" %>
<script runat="server">
    void Botton1_Click(object sender,EventArgs e)
    {
        Label1.Text = "Clicked at"+DateTime.Now.ToString();
    }
</script>
<html>
<head>
    <title>單檔案模式</title>
</head>
<body>
    <from runat="server">
        <div>
            <asp:Label id="Label1" runat="server" Text="Label"/><br />
            <asp:Button id="Button1" runat="server" onclick="Button1_Click" Text="Button"/>
        </div>
    </from>    
</body>
</html>

2、程式碼隱藏模式
用於顯示的程式碼放在.aspx檔案中(頁面檔案),用於邏輯處理的程式碼放在aspx.cs的檔案中(程式碼隱藏檔案)。以上述的例子為例,程式碼隱藏模式為:

<%@ Page Language="C#" CodeFile="SamplePage.aspx.cs" Inherits="SamplePage" AutoEventWireup="true" %>
<html>
<head runat="server">
    <title>隱藏程式碼模式</title>
</head>
<body>
    <from id="form1" runat="server">
        <div>
            <asp:Label id="Label1" runat="server" Text="Label"/><br />
            <asp:Button id="Button1" runat="server" onclick="Button1_Click" Text="Button"/>
        </div>
    </from>    
</body>
</html>

上述是.aspx檔案,該模式下是沒有script塊的,並且在最開頭的@Page指令中,需要引用aspx.cs的外部檔案和Inherits屬性,下面是aspx.cs檔案。

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class SamplePage : System.Web.UI.Page
{
    protected void Button1_Click(object sender,EventArgs e)
    {
        Label1.Text = "Clicked at"+DateTime.Now.ToString();
    }
}

在較為複雜的網頁設計中,更推薦第二種模式,將需要執行的程式碼統一放在aspx檔案中,便於管理。

2、內建物件

ASP.Net包含一系列類,用來封裝上下文資訊,並將這些類的例項作為內部物件提供,下面是一系列類的簡介。

  • Response
    可以動態的響應客戶端請求,並且可以將動態生成的響應結果返回給客戶端瀏覽器。可以向客戶端輸出資料、跳轉網頁等。
    主要屬性:
    1、Buffer:獲取或設定是否緩衝輸出。
    2、ContentType:獲取或設定輸出流的HTTP MIME型別。
    3、Cookies:獲取響應Cookie集合。
    4、Expires:獲取或設定在瀏覽器上快取的頁過期之前前的分鐘數。
    5、ExpiresAbsolute:獲取或設定從快取中移除快取資訊的絕對日期和時間。
    6、Headers:獲取響應頭的集合。
    7、Status:設定返回到客戶端的Status 欄
    主要的方法:
    1、void BinaryWrite (byte[] buffer):將一個二進位制字串寫人HTTP輸出流。
    2、void Clear():清除緩衝區流中的所有內容輸出。
    3、void Close():關閉到客戶端的套接字連線。
    4、void End():將當前所有緩衝的輸出傳送到客戶端,停止該頁的執行。
    5、void Flush():向客戶端傳送當前所有緩衝的輸出。
    6、void Redirect(String url):將客戶端重定向到新的URL。
    7、void SetCookie ( HttpCookie cookie ):更新Cookie集合中的-一個現有Cookie。
    8、void Write ( Strings):將文字寫人HTTP響應輸出流。
    9、void WriteFile ( string filename ):將指定的檔案直接寫人HTTP響應輸出流。

相關文章