ASP.NET 實(shí)例

2018-03-19 14:23 更新

實(shí)例

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

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

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

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

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

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

頁(yè)面指令

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

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

編碼區(qū)段

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

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

頁(yè)面布局

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

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

<!-- 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。從瀏覽器中打開(kāi)文件然后執(zhí)行,它就會(huì)生成以下結(jié)果:

image

使用 Visual Studio IDE

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

image

內(nèi)容文件會(huì)自動(dòng)生成。你只需添加的是 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>

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

image

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)