ASP.NET Web Forms – 伺服器控制元件簡介

大雄45發表於2022-12-24
導讀 伺服器控制元件是伺服器可理解的標籤。HTML 伺服器控制元件是伺服器可理解的 HTML 標籤。

ASP.NET Web Forms – 伺服器控制元件簡介ASP.NET Web Forms – 伺服器控制元件簡介

經典 ASP 的侷限性

下面列出的程式碼是從上一章中複製的:

<html>
<body bgcolor="yellow">
<center>
<h2>Hello Runoob!</h2>
<p><%Response.Write(now())%></p>
</center>
</body>
</html>

上面的程式碼反映出經典 ASP 的侷限性:程式碼塊必須放置在您想要輸出顯示的位置。

透過經典 ASP,想要把可執行程式碼從 HTML 頁面中分離出來是不可能的。這讓頁面變得難以閱讀,也難以維護。

ASP.NET - 伺服器控制元件

ASP.NET 透過伺服器控制元件,已經解決了上述的"義大利麵條式程式碼"問題。

伺服器控制元件是伺服器可理解的標籤。

有三種型別的伺服器控制元件:

  1. HTML 伺服器控制元件 - 建立的 HTML 標籤
  2. Web 伺服器控制元件 - 新的 ASP.NET 標籤
  3. Validation 伺服器控制元件 - 用於輸入驗證
ASP.NET - HTML 伺服器控制元件

HTML 伺服器控制元件是伺服器可理解的 HTML 標籤。

ASP.NET 檔案中的 HTML 元素,預設是作為文字進行處理的。要想讓這些元素可程式設計,需向 HTML 元素中新增 runat="server" 屬性。這個屬性表示,該元素將被作為伺服器控制元件進行處理。同時需要新增 id 屬性來標識伺服器控制元件。id 引用可用於操作執行時的伺服器控制元件。

註釋:所有 HTML 伺服器控制元件必須位於帶有 runat="server" 屬性的

標籤內。runat="server" 屬性表明了該表單必須在伺服器上進行處理。同時也表明了包含在它內部的控制元件可被伺服器 訪問。

在下面的例項中,我們在 .aspx 檔案中宣告瞭一個 HtmlAnchor 伺服器控制元件。然後我們在一個事件控制程式碼(事件控制程式碼是一種針對給定事件執行程式碼的子例程)中操作 HtmlAnchor 控制元件的 HRef 屬性。Page_Load 事件是 ASP.NET 可理解的多種事件中的一種:

<script runat="server">
Sub Page_Load
link1.HRef="
End Sub
</script>
<html>
<body>
<form runat="server">
<a id="link1" runat="server">Visit RUNOOB!</a>
</form>
</body>
</html>

可執行程式碼本身已經被移到 HTML 之外了。

ASP.NET - Web 伺服器控制元件

Web 伺服器控制元件是伺服器可理解的特殊 ASP.NET 標籤。

就像 HTML 伺服器控制元件,Web 伺服器控制元件也是在伺服器上建立的,它們同樣需要 runat="server" 屬性才能生效。然而,Web 伺服器控制元件沒有必要對映任何已存在的 HTML 元素,它們可以表示更復雜的元素。

建立 Web 伺服器控制元件的語法是:

<asp:control_name id="some_id" runat="server" />

在下面的例項中,我們在 .aspx 檔案中宣告瞭一個 Button 伺服器控制元件。然後我們為 Click 事件建立一個事件控制程式碼,用來改變按鈕上的文字:

<script runat="server">
Sub submit(Source As Object, e As EventArgs)
button1.Text="You clicked me!"
End Sub
</script>
<html>
<body>
<form runat="server">
<asp:Button id="button1" Text="Click me!"
runat="server" OnClick="submit"/>
</form>
</body>
</html>
ASP.NET - Validation 伺服器控制元件

Validation 伺服器控制元件是用來驗證使用者輸入的。如果使用者輸入沒有透過驗證,將顯示一條錯誤訊息給使用者。

每種 validation 控制元件執行一種指定型別的驗證(比如驗證某個指定的值或者某個範圍的值)。

在預設情況下,當 Button、ImageButton、LinkButton 控制元件被點選時,會執行頁面驗證。您可以設定 CausesValidation 為 false ,來阻止按鈕控制元件被點選時進行驗證。

建立 Validation 伺服器控制元件的語法是:

<asp:control_name id="some_id" runat="server" />

在下面的例項中,我們在 .aspx 檔案中宣告瞭一個 TextBox 控制元件、一個 Button 控制元件、一個 RangeValidator 控制元件。如果驗證失敗,文字 "The value must be from 1 to 100!" 將會顯示在 RangeValidator 控制元件中:

例項

<html>
<body>
<form runat="server">
<p>Enter a number from 1 to 100:
<asp:TextBox id="tbox1" runat="server" />
<br /><br />
<asp:Button Text="Submit" runat="server" />
</p>
<p>
<asp:RangeValidator
ControlToValidate="tbox1"
MinimumValue="1"
MaximumValue="100"
Type="Integer"
Text="The value must be from 1 to 100!"
runat="server" />
</p>
</form>
</body>
</html>

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2884340/,如需轉載,請註明出處,否則將追究法律責任。

相關文章