top
Loading...
ASP與ASP.NET的比較

介紹

在這個實踐練習中, 你將創建ASP(Active Server Pages) 頁面和ASP.NET頁面,他們分別從數據庫中取出數據并生成一個的HTML頁面.在這兩個例子中,數據訪問的概念是相同的--它們都涉及與數據庫的連接。但是收集數據和顯示數據的方式是不同的。

創建ASP頁面

1.打開Visual Studio.NET集成開發環境:點擊Start,點擊Programs,點擊Experience VS .NET Content,點擊Lab 3,點擊ASP Source。一個名為Authors.asp的空ASP頁面文件會在Visual Studio .NET IDE中打開,如圖1所示。


圖1 ASP頁面

2.敲入以下代碼

<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<STYLE>
BODY { font:arial }
H1 { color:navy }
</STYLE>
</HEAD>
<BODY>
<DIV align=center>
<H1>Authors</H1>

<%
'
' Connecting to a database
'
dim cn
set cn = server.CreateObject("ADODB.Connection")
cn.Open "Provider=sqloledb;" _
& "Data Source=(local);" _
& "Initial Catalog=pubs;" _
& "User ID=sa"
' Retrieving Data via the Recordset Object.
dim rs
set rs = server.CreateObject("ADODB.Recordset")
rs.Open "select au_fname, au_lname, phone from authors order by au_lname",cn
%>

注意:

下面的代碼是由靜態HTML和服務器端腳本構成的,用一個循環把數據集(recordset)中的所有數據遍歷出來。

<TABLE border='1'>
<TR>
<TH>First Name</TH>
<TH>Last Name</TH>
<TH>Phone</TH>
</TR>
<%
do until rs.EOF
Response.Write "<TR>"
Response.Write "<TD>" & rs("au_fname") & "</TD>"
Response.Write "<TD>" & rs("au_lname") & "</TD>"
Response.Write "<TD>" & rs("phone") & "</TD>"
Response.Write "</TR>"
rs.MoveNext
loop
%>
</TABLE>

<!-- Footer -->
<h5>Current as of <%Response.Write now%></h5>
</DIV>
</BODY>
</HTML>

3.點擊File,再點擊Save Authors.asp。

4.關閉IDE。

觀看ASP頁面

1.觀看ASP頁面:點擊Start,點擊Programs,點擊Experience VS.NET Content,點擊Lab 3,再點擊ASP。頁面顯示如圖2。


圖2 ASP頁面顯示結果

創建ASP.NET頁面

1.打開Visual Studio.NET IDE:點擊Start,點擊Programs,點擊Experience VS.NET Content,點擊Lab 3,然后點擊ASP .NET VB Source。一個名為Authors VB.aspx的空ASP.NET頁面文件會在Visual Studio.NET IDE打開,如圖3所示。


圖3 ASP.NET頁面

2.點擊Visual Studio.NET窗口左下角的HTML按鈕查看頁面代碼

3.敲入以下代碼

注意:System.Data和System.Data.SqlClient名字空間(namespaces)被聲明在頁面頂端,所以這兩個名字空間中的所有類可以在下面ASP.NET頁面中可用。

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<STYLE>
BODY { font:arial }
H1 { color:navy }
</STYLE>

</HEAD>
<BODY>
<DIV align=center>
<H1>Authors</H1>

注意:服務器端腳本與靜態HTML完全分離。你可以使用任何run-time語言,例如Microsoft Visual Basic?,Microsoft? Jscript?和C#。

< script language="VB" runat="server">

Sub Page_Load(Src As Object, E As EventArgs)

Dim DS As DataSet
Dim MyConnection As SQLConnection
Dim MyCommand As SQLDataAdapter

MyConnection = New SQLConnection("server=localhost;uid=sa;pwd=;database=pubs")
MyCommand=New SQLDataAdapter("select au_fname as 'First Name', au_lname as 'Last Name',Phone from Authors",MyConnection)

注意:下面代碼中的DataSet對象取代了Recordset對象,并請注意SQLDataAdapter對象中的fill方法。

DS = new DataSet()
MyCommand.Fill(ds,"Authors")

注意:下面代碼設置了DataGrid 控件的DataSource屬性。注意DataSet對象中 Table集合,跟Recordset對象不同,DataSet對象可以包含多個表.

grdAuthors.DataSource=ds.Tables("Authors").DefaultView

注意:在下面代碼中,DataGrid控件用DataBind方法載入數據,然后DataGrid控件以HTML表形式顯示數據。

grdAuthors.DataBind()
End Sub
</script>

注意:下面第一行代碼往頁面中嵌入了一個DataGrid對象。DataGrid控件的其它屬性也可以通過加入屬性/值對來設置,例如:Width="700" BackColor="#ccccff"。

<asp:DataGrid runat=server id=grdAuthors/>

<!-- Footer -->
<h5>Current as of <%Response.Write (Now.ToString)%></h5>
</DIV>

</BODY>
</HTML>

4.點擊File,再點擊Save Authors VB.aspx。

5.關閉IDE。

觀看ASP頁面

1.查看ASP.NET頁面:點擊Start,點擊Programs,點擊Experience VS .NET Content,點擊Lab 3,再點擊ASP.NET-VB。頁面顯示如圖4。


圖4 ASP.NET顯示頁面

結束

當你完成了查看ASP.NET頁面的工作,關閉所有窗口。


作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗