帶你走進ASP.NET(3)
2024-07-10 12:55:56
供稿:網(wǎng)友
 
1.2.2內(nèi)容和代碼分離 
   現(xiàn)在的網(wǎng)站建設通常要求開發(fā)人員做后臺的程序設計,前面有專業(yè)的美工做界面設計。雖然有時候開發(fā)人員也會做些界面設計,但是通常都無法達到專業(yè)的要求。上面說過,在以前的asp中,由于代碼和html頁面語言混雜在一起,這就使得網(wǎng)站的建設變得相當?shù)睦щy。在asp.net中,微軟使用代碼后置很好的解決了這個問題。 
   我們現(xiàn)在建立一個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" runat="server"></asp:textbox> 
   <asp:button id="button1" 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) 
   { 
   
   } 
   } 
  } 
  通過代碼后置,開發(fā)人員可以直接修改.cs文件(在visual basic.net中是.vb文件)。而頁面設計人員可以修改html頁面,這樣就大大簡化了網(wǎng)站的建設過程。 
  1.2.3 asp.net豐富的web控件 
   asp.net的另外一個優(yōu)點就是給我們提供了大量的豐富的web控件。你可以在system.web.ui.webcontrols名字空間下找到各種各樣的web控件,這些控件中包括運行在服務端的from控件,例如:button、textbox等,同時也包括一些特殊用途的控件,如:廣告輪換控件、日歷控件,以及用戶驗證控件等。下面我們就具幾個例子來看看如何使用這些控件。 
   
  1. 廣告輪換控件<asp:adrotator> 
  廣告輪換控件可以在網(wǎng)頁上顯示旋轉的廣告。廣告鏈接信息保存在一個xml文件中,如ads.xml。 
   
  <?xml version="1.0" encoding="utf-8" ?> 
  <advertisements> 
   
   <ad> 
   <imageurl>http://www.aspcool.com/images/newaspcool.gif</imageurl> 
   <navigateurl>http://www.aspcool.com</navigateurl> 
   <alternatetext>alt text</alternatetext> 
   <keyword>computers</keyword> 
   <impressions>80</impressions> 
   </ad> 
   
   <ad> 
   <imageurl>http://www.aspcool.com/images/chat.gif</imageurl> 
   <navigateurl>http://www.chaxiu.com</navigateurl> 
   <alternatetext>alt text</alternatetext> 
   <keyword>computers</keyword> 
   <impressions>80</impressions> 
   </ad> 
  </advertisements> 
   
  我們現(xiàn)在在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 使用比較運算符(小于、等于、大于等)將用戶的輸入與另一控件的常數(shù)值或屬性值進行比較。 
  rangevalidator 檢查用戶的輸入是否在指定的上下邊界之間。 可以檢查數(shù)字、字母或日期對內(nèi)的范圍。可以將邊界表示為常數(shù)。 
  regularexpressionvalidator 檢查輸入是否與正則表達式定義的模式匹配。該驗證類型允許檢查可預知的字符序列,如社會保障號、電子郵件地址、電話號碼、郵政編碼等中的字符序列。 
  customvalidator 使用您自己編寫的驗證邏輯檢查用戶的輸入。該驗證類型允許檢查運行時導出的值。 
  validationsummary 以摘要的形式顯示頁上所有驗證程序的驗證錯誤。 
   
   
   
  好了,既然asp.net有如此多的優(yōu)點,讓我們現(xiàn)在就開始安裝和使用asp.net吧! 
國內(nèi)最大的酷站演示中心!