小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

ASP.NET Web 頁面語法概覽

 ylzrx 2012-02-08

已創(chuàng)建的 ASP.NET Web 頁面類似于靜態(tài) HTML Web 頁面(即不包括基于服務器端處理的頁面),但是它們包括了被 ASP.NET 所認可的額外元素,并且在頁面運行的時候進行處理。ASP.NET Web 頁面區(qū)別于靜態(tài) HTML(或者其他)頁面的特征如下:

  • 把 .htm,.html 的文件擴展名換成 .aspx。擁有 .aspx 文件擴展名的頁面文件會被 ASP.NET 進行處理。

    提示:ASP.NET 的文件名擴展映射是在 Internet Information Services(IIS)中被完成的。默認時,.aspx 頁面是由 ASP.NET 運行的,而 .htm 和 .html 頁面則不是。

  • 一個可選的 @ Page 指令或者其他與你所創(chuàng)建的頁面類型相匹配的其他指令。

  • 一個正確地為 ASP.NET 所配置的 form 元素。這個 form 元素是唯一在你需要在頁面處理期間使用頁面控件時所必需的。

  • Web 服務器端控件。

  • 服務器端代碼,如果你在頁面中添加了代碼的話。

    提示:如果你想要讓你的頁面與 XHTML 標準相匹配的話,那么你就必須包含額外的元素,比如 DOCTYPE 元素。詳細內(nèi)容請參考[ASP.NET 與 XHTML]。

以下部分分別為這些元素提供了更多的細節(jié)。

你可以把任何 HTML 頁面的名稱都改成 .aspx 文件名擴展并且會被當成 ASP.NET Web 頁面來運行。但是,如果頁面沒有包括服務器端處理,那么你就不需要再添加 .aspx 文件擴展名,因為這樣做會增加頁面的處理時間。

ASP.NET Web 頁面范例

以下代碼示范了一個頁面,該頁面包含了一些用來組成 ASP.NET Web 頁面的基本元素。該頁面包含了你想要在 HTML 頁面中所使用的靜態(tài)文字,并且與特定的 ASP.NET 元素一起被使用。代碼中的 ASP.NET 專用的元素被高亮顯示。

提示:為了更加清楚,這個范例頁面并沒有遵循 XHTML 標準。詳細內(nèi)容請參考[ASP.NET 與 XHTML]。

安全提示:這個范例頁面包含一個文本輸入框用來接收用戶輸入,然而這是一個潛在的安全威脅。默認時,ASP.NET Web 頁面會驗證用戶輸入中是否包含腳本與 HTML 元素。更多信息請參考[腳本開發(fā)概覽]。

<%@ Page Language="C#" %>
<html>
<script runat="server">
    void Button1_Click(Object sender, EventArgs e)
        Label1.Text = "歡迎," + TextBox1.Text;
    End Sub
</script>
<head runat="server">
  <title>基本的 ASP.NET Web 頁面</title>
</head>
<body>
  <form id="form1" runat="server">
    <h1>歡迎使用 ASP.NET</h1>
    <p>輸入你的名字然后點擊按鈕。</p>
    <p>
      <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
      <asp:Button ID="Button1" runat="server" 
        Text="Click" OnClick="Button1_Click" />
    </p>
    <p>
      <asp:Label ID="Label1" runat="server"></asp:Label>
    </p>
  </form>
</body>

@ 指令

ASP.NET 頁面通常會包含一些指令以允許你為頁面指定頁面屬性和配置信息。這些指令被用來指示 ASP.NET 如何對頁面進行處理,但是它們并不會被呈現(xiàn)成標記的一部分也不會被發(fā)送到瀏覽器。

最常被使用的指令就是 @ Page,它允許你為頁面指定許多配置選項,其中包括:

  • 頁面代碼中的服務器端編程語言。

  • 頁面既可以直接包含服務器端代碼(被稱為單文件頁面),也可以把代碼保存在單獨的類文件中(被稱為幕后代碼頁面)。前面范例中的頁面就是一個單文件頁面;代碼是直接編寫在頁面中的,并且 @ Page 指令也沒有包含關(guān)于類文件的鏈接。更多信息請參考[ASP.NET Web 頁面的代碼模型]。

  • 調(diào)試與追蹤選項。

  • 如果頁面擁有一個相關(guān)聯(lián)的控制頁,那么它就應該被視為一個內(nèi)容頁面。

如果你沒有在頁面中包含一個 @ Page 指令,或者如果該指令沒有包含特定的設(shè)置,那么這些設(shè)置就會從 Web 應用程序的配置文件(Web.config 文件)或者從站點配置文件(Machine.config 文件)中得到繼承。

除了包含 @ Page 指令之外,你也可以包含支持額外的頁面選項的其他指令。這些公共指令如下:

  • @ Import

    這個指令允許你指定需要引用到代碼中的命名空間。

  • @ OutputCache

    這個指令允許你指定頁面是否被緩存,連同指定緩存開始時間與緩存期限的參數(shù)一起來對頁面進行緩存。

  • @ Implements

    這個指令允許你指定頁面所實現(xiàn)的 .NET 接口。

  • @ Register

    這個指令允許你注冊在頁面中所使用的額外控件。@ Register 指令聲明了該控件的前綴標記以及控件匯編集的位置。如果你要把用戶控件或者自定義的 ASP.NET 控件添加到頁面中,那么你就必須使用這個指令。

有些特定類型的 ASP.NET 文件需要使用到除 @ Page 之外的其他指令。例如,ASP.NET 控制頁就會使用一個 @ Master 指令,而 ASP.NET 用戶控件則會使用一個 @ Control 指令。每種指令都允許你為適當?shù)奈募付ú煌倪x項。

詳細信息請參考[ASP.NET Master Page 概覽和 ASP.NET 用戶控件]。

窗體元素

如果你的頁面包含了允許用戶進行交互并且可被提交的控件,那么這個頁面就必須包含一個 form 元素。你可以使用 HTML 的 form 元素,但是必須應用特定的規(guī)則。使用 form 元素的規(guī)則如下:

  • 頁面只能夠包含唯一一個 form 元素。

  • 這個 form 元素必須包含值被設(shè)置成 server 的 runat 特性。這個特性允許你提交窗體和能夠在服務器代碼中進行編程的頁面控件。

  • 可以完成回傳的服務器控件必須被包含在 form 元素中。

  • 開始標記中不能夠包含有 action 特性。因為 ASP.NET 會在頁面被處理的時候動態(tài)設(shè)置這些特性,并且覆蓋所有可能的設(shè)置。

Web 服務器端控件

在多數(shù) ASP.NET 頁面中,你需要添加控件以允許用戶與頁面進行交互,包括按鈕、文本輸入框,列表等等。這些 Web 服務器控件與 HTML 按鈕與輸入元素是類似的。無論如何,它們都是在服務器端被處理的,并且允許你使用服務器端代碼來設(shè)置它們的屬性。這些控件同樣可以觸發(fā)能夠在服務器端代碼中被處理的多種事件。

服務器端控件使用的是一種特別的語法,并且這種語法在頁面運行的時候是被 ASP.NET 所認可的。下列代碼范例就說明了一些典型的 Web 服務器端控件。

安全提示:文本輸入框會接收用戶輸入,然而這是一個潛在的安全威脅。默認時,ASP.NET Web 頁面會驗證用戶輸入是否包含腳本與 HTML 元素。更多信息請參考[腳本開發(fā)概覽]。

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" 
    Text="Click" OnClick="Button1_Click" />

ASP.NET 服務器端控件的標記名稱由一個前綴開始,在這里是 asp:。如果控件不是 .NET Framework 的一部分的話,這個前綴也許會有所不同。ASP.NET 服務器端控件同樣包含 runat="server" 特性以及一個可選的 ID 特性,你可以在服務器端代碼中用來對控件進行引用。

頁面一旦運行,它就會服務器端控件進行識別并且運行與這些控件相關(guān)聯(lián)的代碼。大多數(shù)控件都會把 HTML 或者其他標記呈現(xiàn)到頁面中。例如,asp:textbox 控件會把一個擁有 type="text" 特性的 input 元素呈現(xiàn)在頁面中。然而,這些映射并不需要在 Web 服務器控件與 HTML 元素之間進行一一對應。例如,asp:calendar 控件就會呈現(xiàn)一個 HTML 表格。還有一些控件不會呈現(xiàn)任何內(nèi)容給瀏覽器;相反,它們只在服務器端才能夠被處理,并且只為其他控件提供信息。

作為服務器端控件的 HTML 元素

作為使用 ASP.NET 服務器端控件的替代,你可以把普通的 HTML 元素當成服務器端控件使用。你可以為頁面中的任何 HTML 元素添加 runat="server" 特性和 ID 特性。當頁面運行的時候,ASP.NET 就會把這些元素識別成為服務器端控件并且讓它在服務器端代碼中變得可用。例如,你可以在 HTML body 元素中添加必需的元素,如下代碼范例所示。

<body runat="server" id="body">

然后你就可以在服務器端代碼中對這個 body 元素進行引用了,例如,在運行時設(shè)置主體的背景顏色來響應用戶的輸入或者來自于數(shù)據(jù)庫的信息。

更多信息請參考[ASP.NET Web 服務器端控件]。

服務器端代碼

多數(shù) ASP.NET 頁面都包含了頁面被處理之后能夠在服務器端所運行的代碼。并且 ASP.NET 還支持許多種的編程語言,包括 C#、Visual Basic、J#、JScript,以及其他。

ASP.NET 支持兩種模型來編寫頁面的服務器端代碼。在單文件模型中,頁面代碼位于開始標記中包含有 runat="server" 特性的 script 元素中。本文中先前的范例就屬于單文件模型。

作為選擇,你也可以在單獨的類文件中創(chuàng)建頁面代碼,這就是幕后代碼模型。在這種情況下,ASP.NET Web 頁面通常不需要包含任何服務器代碼。另外,@ Page 指令還包含了 .aspx 頁面以及與它所關(guān)聯(lián)的幕后代碼文件的鏈接信息。下面的代碼范例就說明了一個在幕后代碼文件模型中所使用的 @ Page 指令。

<%@ Page Language="C#" CodeFile="Default.aspx.cs" Inherits="Default" %>

CodeFile 特性指定了類文件的名稱,而 Inherits 特性指定了幕后代碼文件中與頁面進行通訊的類名稱。

更多信息請參考[ASP.NET Web 頁面代碼模型]。

提示:ASP.NET Web 頁面同樣可以包含運行在瀏覽器中并且響應客戶端事件的客戶端腳本。并且一個 ASP.NET 頁面中能夠同時包含客戶端腳本與服務器端代碼。更多信息請參考[使用客戶端腳本的 ASP.NET Web 頁面編程]。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多