ASP.NET 實例

2018-03-19 14:23 更新

實例

ASP.NET 頁面是由大量的服務(wù)器控件以及 HTML 控件、文本和圖像組成的。頁面的敏感數(shù)據(jù)和頁面上的不同控件狀態(tài)被儲存在隱藏字段中,組成了頁面請求的配置指令。

ASP.NET 運行時控制一個頁面實例和其狀態(tài)的關(guān)聯(lián)。一個 ASP.NET 頁面是一個頁面的對象或者從之繼承而來。

頁面上所有的控件同樣也是從一個父類控件繼承而來的相關(guān)控件類的對象。當(dāng)一個頁面運行時,對象頁面的一個實例就隨其內(nèi)容控件一起被創(chuàng)建。

一個 ASP.NET 頁面同樣也是儲存在 .aspx 延伸的服務(wù)器端文件。

它在本質(zhì)上是模塊化的,并且可被分成以下幾個核心部分:

  • 網(wǎng)頁指令
  • 編碼區(qū)段
  • 頁面布局

頁面指令

頁面指令為頁面設(shè)置運行環(huán)境。@Page 指令定義了使用 ASP.NET 頁面解析器和編譯器的特殊頁面屬性。頁面指令指定應(yīng)該如何處理頁面,并指定對頁面需要采取的假設(shè)。

它允許導(dǎo)入命名空間、加載程序集和注冊新的控件,包括自定義標(biāo)記名稱和命名空間前綴。

編碼區(qū)段

編碼區(qū)段為頁面和控件即其他所需功能提供處理程序。我們提到,ASP.NET 遵從對象模型?,F(xiàn)在,當(dāng)一些事件在用戶界面發(fā)生,這些對象會激發(fā)事件,比如說一個用戶點擊了一個按鈕或者移動了光標(biāo)。這些事件需要往復(fù)的這類響應(yīng)是在事件處理程序功能里編碼的。事件處理程序除了綁定到空間上的功能就沒什么了。

編碼區(qū)段或者文件后的編碼提供了對于所有這些事件處理程序的路線,以及其他開發(fā)者使用的功能。頁面代碼可以預(yù)編譯和以二進制匯編的形式進行部署。

頁面布局

頁面布局提供了頁面的界面。它包含服務(wù)器控件、文本和內(nèi)聯(lián)的 JavaScript 和 HTML 標(biāo)簽。

下面的代碼片段提供了一個 ASP.NET 頁面的示例,解釋了用 C# 編寫的頁面指令、代碼區(qū)段和頁面布局:

<!-- directives -->
<% @Page Language="C#" %>

<!-- code section -->
<script runat="server">

   private void convertoupper(object sender, EventArgs e)
   {
      string str = mytext.Value;
      changed_text.InnerHtml = str.ToUpper();
   }
</script>

<!-- Layout -->
<html>
   <head> 
      <title> Change to Upper Case </title> 
   </head>

   <body>
      <h3> Conversion to Upper Case </h3>

      <form runat="server">
         <input runat="server" id="mytext" type="text" />
         <input runat="server" id="button1" type="submit" value="Enter..." OnServerClick="convertoupper"/>

         <hr />
         <h3> Results: </h3>
         <span runat="server" id="changed_text" />
      </form>

   </body>

</html>

復(fù)制此文件到 web 服務(wù)器的根目錄。一般的是 c:\iNETput\wwwroot。從瀏覽器中打開文件然后執(zhí)行,它就會生成以下結(jié)果:

image

使用 Visual Studio IDE

讓我們用 Visual Studio IDE 展開同樣的例子。你可以直接拖拽控件到設(shè)計視圖,而不用輸入代碼。

image

內(nèi)容文件會自動生成。你只需添加的是 Button1_Click 代碼,即如下所示:

protected void Button1_Click(object sender, EventArgs e)
{
   string buf = TextBox1.Text;
   changed_text.InnerHtml = buf.ToUpper();
}

內(nèi)容文件代碼已給出:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" 
   Inherits="firstexample._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

   <head runat="server">
      <title>
         Untitled Page
      </title>
   </head>

   <body>

      <form id="form1" runat="server">
         <div>

            <asp:TextBox ID="TextBox1" runat="server" style="width:224px">
            </asp:TextBox>

            <br />
            <br />

            <asp:Button ID="Button1" runat="server" Text="Enter..." style="width:85px" onclick="Button1_Click" />
            <hr />

            <h3> Results: </h3>
            <span runat="server" id="changed_text" />

         </div>
      </form>

   </body>

</html>

通過右鍵點擊設(shè)計視圖來執(zhí)行此示例,并且從彈出菜單中選擇 ‘View in Browser’。這將生成以下結(jié)果:

image

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號