帶你走進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)最大的酷站演示中心!