帶你走進ASP.NET(3)

來源:互聯網
上載者:User
asp.net 1.2.2內容和代碼分離
   現在的網站建設通常要求開發人員做背景程式設計,前面有專業的美工做介面設計。雖然有時候開發人員也會做些介面設計,但是通常都無法達到專業的要求。上面說過,在以前的ASP中,由於代碼和HTML頁面語言混雜在一起,這就使得網站的建設變得相當的困難。在ASP.NET中,微軟使用代碼後置很好的解決了這個問題。
   我們現在建立一個HTML頁面,如下:
  <%@ Page language="c#" Codebehind="WebForm1.aspx.cs"
   AutoEventWireup="false" Inherits="AspCool.WebForm1" %>
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
  <HTML>
   <HEAD>
   <title>WebForm1</title>
   <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
   <meta name="CODE_LANGUAGE" Content="C#">
   <meta name="vs_defaultClientScript" content="JavaScript">
   <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
   </HEAD>
   <body MS_POSITIONING="GridLayout">
   <form id="Form1" method="post" runat="server">
   <FONT face="宋體">
   <asp:TextBox id="TextBox1" style="Z-INDEX: 101; LEFT: 47px; POSITION: absolute; TOP: 23px" runat="server"></asp:TextBox>
   <asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 53px; POSITION: absolute; TOP: 76px" runat="server" Text="Button"></asp:Button></FONT>
   </form>
   </body>
  
  
  從第一行中我們可以看出,該頁面的後台代碼全都在WebForm1.aspx.cs檔案中。我們可以在這個檔案中編寫程式,如下所示:
  using System;
  using System.Collections;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Web;
  using System.Web.SessionState;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Web.UI.HtmlControls;
  
  namespace AspCool
  {
   /// <summary>
   /// Summary description for WebForm1.
   /// </summary>
   public class WebForm1 : System.Web.UI.Page
   {
   protected System.Web.UI.WebControls.TextBox TextBox1;
   protected System.Web.UI.WebControls.Button Button1;
  
   private void Page_Load(object sender, System.EventArgs e)
   {
   // Put user code to initialize the page here
   }
  
   #region Web Form Designer generated code
   override protected void OnInit(EventArgs e)
   {
   //
   // CODEGEN: This call is required by the ASP.NET Web Form Designer.
   //
   InitializeComponent();
   base.OnInit(e);
   }
  
   /// <summary>
   /// Required method for Designer support - do not modify
   /// the contents of this method with the code editor.
   /// </summary>
   private void InitializeComponent()
   {
   this.Button1.Click += new System.EventHandler(this.Button1_Click);
   this.Load += new System.EventHandler(this.Page_Load);
  
   }
   #endregion
  
   private void Button1_Click(object sender, System.EventArgs e)
   {
  
   }
   }
  }
  通過代碼後置,開發人員可以直接修改.cs檔案(在Visual Basic.NET中是.vb檔案)。而頁面設計人員可以修改HTML頁面,這樣就大大簡化了網站的建設過程。
  1.2.3 ASP.NET豐富的Web控制項
   ASP.NET的另外一個優點就是給我們提供了大量的豐富的Web控制項。你可以在System.Web.UI.WebControls名字空間下找到各種各樣的Web控制項,這些控制項中包括運行在服務端的from控制項,例如:Button、TextBox等,同時也包括一些特殊用途的控制項,如:廣告輪換控制項、日曆控制項,以及使用者驗證控制項等。下面我們就具幾個例子來看看如何使用這些控制項。
  
  1. 廣告輪換控制項<asp:adrotator>
  廣告輪換控制項可以在網頁上顯示旋轉的廣告。廣告連結資訊儲存在一個XML檔案中,如ads.xml。
  
  <?xml version="1.0" encoding="utf-8" ?>
  <Advertisements>
  
   <Ad>
   <ImageUrl>newaspcool.gif</ImageUrl>
   <NavigateUrl>http://www.aspcool.com</NavigateUrl>
   <AlternateText>Alt Text</AlternateText>
   <Keyword>Computers</Keyword>
   <Impressions>80</Impressions>
   </Ad>
  
   <Ad>
   <ImageUrl>chat.gif</ImageUrl>
   <NavigateUrl>http://www.chaxiu.com</NavigateUrl>
   <AlternateText>Alt Text</AlternateText>
   <Keyword>Computers</Keyword>
   <Impressions>80</Impressions>
   </Ad>
  </Advertisements>
  
  我們現在在asp.net 頁面中加上一個<asp:adrotator>,如下所示:
  <HTML>
   <HEAD>
   <title>廣告輪換程式</title>
   </HEAD>
   <body MS_POSITIONING="GridLayout">
   <form id="Form1" method="post" runat="server">
   <asp:AdRotator id="AdRotator1" runat="server" Width="468px" Height="60px" AdvertisementFile="ads.xml"></asp:AdRotator>
   </form>
   </body>
  </HTML>
  運行此程式,你就會得到一個旋轉顯示廣告的頁面了。
  
  2. 日曆控制項<asp:calendar>
  使用日曆控制項,我們可以很快產生一個日曆的Web頁面。代碼如下:
  <HTML>
   <HEAD>
   <title>廣告輪換程式</title>
   </HEAD>
   <body MS_POSITIONING="GridLayout">
   <form id="Form1" method="post" runat="server">
   <asp:Calendar id="Calendar1" runat="server"></asp:Calendar>
   </form>
   </body>
  </HTML>
  在Visual Studio.NET中,你直接從工具列中拖過來就可以使用了。
  
  3. 驗證控制項
  以前我們我們通過自己寫JavaScript指令碼來驗證使用者輸入的資訊。在ASP.NET中,只要我們使用驗證控制項這些代碼也會自動產生。它能夠向使用者提示輸入的錯誤資訊。下面我就給大家列出這些驗證控制項:
  
  
  控制項名稱 說明
  RequiredFieldValidator 確保使用者不跳過輸入。
  CompareValidator 使用比較子(小於、等於、大於等)將使用者的輸入與另一控制項的常數值或屬性值進行比較。
  RangeValidator 檢查使用者的輸入是否在指定的上下邊界之間。 可以檢查數字、字母或日期對內的範圍。可以將邊界表示為常數。
  RegularExpressionValidator 檢查輸入是否與Regex定義的模式比對。該驗證類型允許檢查可預知的字元序列,如社會保障號、電子郵件地址、電話號碼、郵遞區號等中的字元序列。
  CustomValidator 使用您自己編寫的驗證邏輯檢查使用者的輸入。該驗證類型允許檢查運行時匯出的值。
  ValidationSummary 以摘要的形式顯示頁上所有驗證程式的驗證錯誤。
  
  
  
  好了,既然ASP.NET有如此多的優點,讓我們現在就開始安裝和使用ASP.NET吧!


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.