當前位置:
首頁 > 知識 > ASP.NET Web Forms-伺服器控制項

ASP.NET Web Forms-伺服器控制項

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



ASP.NET Web Forms-伺服器控制項

經典 ASP 的局限性

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

<html>

<body bgcolor="yellow">

<center>

<h2>Hello W3CSchool.cc!</h2>

<p><%Response.Write(now())%></p>

</center>

</body>

</html>

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

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



ASP.NET Web Forms-伺服器控制項

ASP.NET - 伺服器控制項

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

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

有三種類型的伺服器控制項:

  • HTML 伺服器控制項 - 創建的 HTML 標籤

  • Web 伺服器控制項 - 新的 ASP.NET 標籤

  • Validation 伺服器控制項 - 用於輸入驗證


ASP.NET - HTML 伺服器控制項

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

ASP.NET 文件中的 HTML 元素,默認是作為文本進行處理的。要想讓這些元素可編程,需向 HTML 元素中添加 runat="server" 屬性。這個屬性表示,該元素將被作為伺服器控制項進行處理。同時需要添加 id 屬性來標識伺服器控制項。id 引用可用於操作運行時的伺服器控制項。

注釋:所有 HTML 伺服器控制項必須位於帶有 runat="server" 屬性的 <form> 標籤內。runat="server" 屬性表明了該表單必須在伺服器上進行處理。同時也表明了包含在它內部的控制項可被伺服器腳本訪問。

在下面的實例中,我們在 .aspx 文件中聲明了一個 HtmlAnchor 伺服器控制項。然後我們在一個事件句柄(事件句柄是一種針對給定事件執行代碼的子常式)中操作 HtmlAnchor 控制項的 HRef 屬性。Page_Load 事件是 ASP.NET 可理解的多種事件中的一種:

<script runat="server">

Sub Page_Load

link1.HRef="http://www.w3cschool.cc"

End Sub

</script>

<html>

<body>

<form runat="server">

<a id="link1" runat="server">Visit W3CSchool.cc!</a>

</form>

</body>

</html>

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



ASP.NET Web Forms-伺服器控制項

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>

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

ASP.NET Web Forms-HTML 頁面
ASP.NET Web Forms-HTML 表單
ASP.NET MVC-模型
ASP.NET MVC-安全

TAG:程序員小新人學習 |