如何用ASP.NET创建你的第一个网页

如果你是一个经验丰富的ASP/ADO开发员但又没有尝试过.NET,那么最好现在就开始试一试。为了让你体会到.NET,我们将把微软Access数据库(你也可以SQL Server或者Oracle数据库替代)连接到互联网并检索和显示某些数据。这个例子即需要Information Internet Services(IIS)也需要.NET框架。你可以在这儿下载.NET框架。如果你想试用免费的APS.NET开发环境,那么可以从Web Matrix下载它。

对服务器控件的介绍 

动态服务器页面(Active Server Page,ASP)是微软第一个用于连接数据库和Web的Web技术。ASP.NET完全是其传统语言(即ASP)的重写。你可以同时使用这两者,这是因为两者文件的扩展名相区别(.NET页使用的是.aspx扩展名,而ASP使用.asp扩展名)。

你在ASP.NET中写的大多数代码将在Web服务器上运行,但返回到客户的仅仅是HTML。幸好,.NET提供了许多与标准HTML控件相似的新控件,如下拉式列表和文本框。表A列出了最常用的服务器(server)控件。

表 A

常见server控件
控件  功能
<asp:Button id="button1" Text="Press" runat="server" /> 在页面上创建一个标准按钮
<asp:Calendar runat="server" />  创建日历(calendar)
<asp:DropList id="list1" runat="server">  创建一个下拉式列表
<asp:ListBox id="listbox" rows="4" runat="server">  创建基本列表框
<asp:TextBox id="txtbox" runat="server" />  创建标准文本框

.NET服务器控件有一个优点,即它是创建在Web服务器上(而不是像HTML那样在页面中创建控件)。因此,它们可以在发送到客户之前进行处理。例如,你既可以在页中也可以在服务器端进行内容验证。这也就意味着你可以在页中验证内容,然后在服务器端重新进行验证。
在大多数情况下,你可以通过简单的添加组件的方法来创建一个.NET控件:
runat="server"

与之对应的HTML元素代码如下:
<asp:control_name id="controlID" runat="server" />

有些开发工具的用法甚至更简单。例如,Visual Studio .NET可以让你通过拖放Web页上的控件来创建服务器控件。

除了这些服务器端的标准HTML控件,ASP.NET还提供了一套验证控件(validation controls):

RequiredFieldValidation控件请求一个数值。
CompareValidator控件比较两个控件中的数值,如当用户被要求两次输入电子邮件地址时,用来验证两次输入是否相同。
RangeValidator控件用来判断条目值是否在一个值域之内。
RegularExpressionValidator控件用正则表达式来验证控件输入。
CustomValidator控件用来让你输入验证码。
Validation Summary用来显示一个页面所用到的所有正确的验证的清单。
使用ADO.NET 

你或许熟悉ADO,不过ADO.NET却是一种全新的语言。但是没有关系,这两者之间有足够多的相似之处,学会如何使用新的对象并不是困难的事。连接到数据库一共有三个步骤:

1. 导入一个.NET名字空间来建立连接。
2.创建一个ADO.NET DataReader对象来获取数据。
3.创建一个ADO.NET Repeater对象来显示数据。

对.NET来说,名字空间是一个新的概念,所以在ADO中没有和它对应的东西。在ADO中,连接是通过提供字符串和一个Connection或者Command对象来建立起来的。DataReader对应于ADO的Recordset;而Reperter是一个server控件,它用来在一个模板的基础上显示数据。

创建ADO.NET连接

为了从数据库中检索数据,你需要ADO.NET。如果你熟悉IIS和Web文件层次,那么你可能不需任何帮助就可以建立一个例子。你也可以按照我们的演示过程去做,先把Northwind(一个Access数据库例子)拷贝到你的本地硬盘中。我们的例子在一个名为nettest的Web文件夹下。拷贝粘贴(或者输入)下面的代码到一个文本编辑器中并把它保存为nettest.aspx。

现在,导入一个.NET名字空间,这样你就可以使用OLEDB数据库了:
<%@ Import Namespace="System.Data.OleDb" %>

PageLoad事件将执行连接到Northwind数据库的代码,Server.mappath将返回包含该数据库的物理路径,如代码清单A所示。

连接字符串

如果你想连接到SQL Server(用一个OLEDB连接),你可以使用下面的语句:
"Provider=sqloledb;Data Source=Martin;Initial Catalog=NorthWind;Integrated Security=SSPI;"

如果你用的是Oracle,你可以用下面的语句:
"Provider=msdaora;Data Source=OracleDataBase;User Id=YourUserName;Password=YourPassword;"

connectionstrings.com提供了许多关于连接的信息,其中包含了每种可能情况下的连接字符串。

创建ADO.NET对象 

下一步就是创建一个DataReader对象,它用来保存你希望显示的数据。下面的代码使用了Command对象的ExecuteReader方法,这样就创建了一个保存了Northwind客户数据库中所有记录的DataReader对象。
cnn.Open()
sql="SELECT CompanyName, ContactName, Address, City FROM Customers"
cnn=New OleDbCommand(sql,cnn)
dbread=cnn.ExecuteReader()

用Reaperter控件来显示数据

现在,通过绑定上一步创建的DataReader对象,你就可以用一个Reperter控件来显示数据。Reaperter控件可以让你创建一个简单的模板(例如,HTML表),对查询所返回的每行数据都重复这个操作。

用HerderTemplate块来创建初始的表结构;数据将出现在ItemTemplate(表的行和列)块中。例如,下面的代码为我们的客户数据创建一个表头,它用来指示早先SQL语句所返回的字段:
<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>CompanyName</th>
<th>ContactName</th>
<th>Address</th>
<th>City</th>
</tr>
</HeaderTemplate>

与其它的ASP.NET对象不同,Repeater对象没有现成的布局(layout)和样式;你必须定义你自己的布局和样式。返回数据的每一行都显示在ItemTemplate块中。下面的脚本中每一个字段都包含了一个单元(cell)(在HTML表中):
<ItemTemplate>
<tr>
<td><%#Container.DataItem("CompaName")%></td>
<td><%#Container.DataItem("ContactName")%></td>
<td><%#Container.DataItem("Address")%></td>
<td><%#Container.DataItem("City")%></td>
</tr>
</ItemTemplate>

模板代码在HTML的body标签中而在脚本定义之外——虽然你不能从上面的例子中看出这一点。

浏览.NET页

清单B中的代码用来在浏览器中显示客户数据(用HTML表模板显示各个数据条目)。

把这些脚本复制粘贴到任何一个文本编辑器中,并保存为.aspx格式的文件。然后把该文件另存或者拷贝到Web根目录下(本例的根目录为wwwroot\nettest)。启动你的浏览器并输入合适的地址,这样打开了这个文件。当浏览器载入该文件后(如图A所示),浏览器将显示一个简单的HTML网页,其中包含了SQL语句的请求所返回的数据。

图A

浏览器中的.NET页面

你还可以改进页面的外观。例如,通过添加其它模板块来改变每行的颜色。AlternatingItem.Template块可以改变每一个表单元的背景颜色。下面的脚本会把单元的背景改成黄色(FFFF00):
<AlternatingItemTemplate>
<tr bgcolor="#FFFF00">
<td><%#Container.DataItem("companyname")%></td>
<td><%#Container.DataItem("contactname")%></td>
<td><%#Container.DataItem("address")%></td>
<td><%#Container.DataItem("city")%></td>
<td><%#Container.DataItem("Region")%></td>
</tr>
</AlternatingItemTemplate>

为了对其它所有行起作用,把AlternatingItemTemplate块放到ItemTemplate块之后。

小节
尽管.NET并不是特别新鲜的东东,但如果你还没有实现从传统ASP到ASP.NET的跳跃,那么现在开始也不迟。如果你在ASP和ADO领域有着丰富的经验,那么这个转换将会相当的简单。

时间: 2024-10-19 00:41:27

如何用ASP.NET创建你的第一个网页的相关文章

如何用ASP+FSO创建文件夹和文件

创建文件夹: Set fso = CreateObject("Scripting.FileSystemObject") fso.CreateFolder ("C:\test") 创建文件的方法有三种: 第一种方法是用 CreateTextFile 方法. Set fso = CreateObject("Scripting.FileSystemObject") Set f1 = fso.CreateTextFile("c:\test.tx

用ASP.NET创建自定义文本框

asp.net|创建|文本框 在一个.NET的应用程序中使用自己创建的控件可以大大增强应用程序的功能,你可以在原有控件的基础上加入想要的属性和行为,甚至创建自定义的控件.在asp.net中,我们更可以往一些控件中增加一些客户端的javascript功能,减少每次在提交页面时将数据返回给服务器的次数 ,从而提高程序的功能和效率.在这篇文章中,我们将看下,如何用asp.net创建一个自定义的文本框控件,当焦点在该文本框控件上及离开控件时,文本框控件的背景颜色会随之改变.这个控件将包含如下的功能: 1

如何用VB.Net创建一个三层的数据库应用程序(转贴

程序|创建|数据|数据库 1. 概论: 本文将介绍如何创建一个三层应用程序,并且将介绍如何创建一个Web Service服务. ADO.NET创建Windows三层结构应用程序的体系架构如下图所示: 该结构分三个层次:表示层.业务层.数据层. 数据层:代表物理数据库. 业务层:负责数据层与表示层之间的数据传输. 表示层:应用程序的客户端,它通过业务层来访问数据库. 表示层所操作的是驻留在内存中的本地数据,当需要更新数据库数据时,要通过业务层提供的更新方法实现.这样可以大大提高应用程序的性能,而且

如何用VB.Net创建一个三层的数据库应用程序

程序|创建|数据|数据库 1. 概论: 本文将介绍如何创建一个三层应用程序,并且将介绍如何创建一个Web Service服务. ADO.NET创建Windows三层结构应用程序的体系架构如下图所示: 该结构分三个层次:表示层.业务层.数据层. 数据层:代表物理数据库. 业务层:负责数据层与表示层之间的数据传输. 表示层:应用程序的客户端,它通过业务层来访问数据库. 表示层所操作的是驻留在内存中的本地数据,当需要更新数据库数据时,要通过业务层提供的更新方法实现.这样可以大大提高应用程序的性能,而且

ASP.NET创建Web服务之异步Web服务

asp.net|web|web服务|创建|异步 为了改善调用阻碍线程的长期运行的方法的XML Web服务方法的性能,你应该考虑把它们作为异步的XML Web服务方法发布.实现一个异步XML Web服务方法允许线程在返回线程池的时候执行其他的代码.这允许增加一个线程池中的有限数目的线程,这样提高了整体性能和系统的可伸缩性. 通常,调用执行输入/输出操作的方法的XML Web服务方法适于作为异步实现.这样的方法的例子包括和其他的XML Web服务通讯.访问远程数据库.执行网络输入/输出和读写大文件方

保存美丽记忆 用ASP.NET创建网络相册

asp.net|创建|网络 在现在的数码时代,我们会经常拍摄一些相片以供留念,而随着数码照片的增多,往往需要很好地管理这些照片,以便更好地查阅留念.现在网上有不少的电子相册,都能很好的实现这些功能,那我们能否自己动手创建自己的相册呢?当然可以,在这篇文章中,我们将利用asp.net,来创建一个简单的在线相册,以收藏我们的照片. 首先来看下,这个相册有哪些功能.在这个相册中,我们必须先把预先摄影好的照片放到一个目录下去,之后,可以供在网上使用"上一张,下一张"的链接一张张地查看. 下面先

用ASP.NET创建网络相册

asp.net|创建|网络 在现在的数码时代,我们会经常拍摄一些相片以供留念,而随着数码照片的增多,往往需要很好地管理这些照片,以便更好地查阅留念.现在网上有不少的电子相册,都能很好的实现这些功能,那我们能否自己动手创建自己的相册呢?当然可以,在这篇文章中,我们将利用asp.net,来创建一个简单的在线相册,以收藏我们的照片. 首先来看下,这个相册有哪些功能.在这个相册中,我们必须先把预先摄影好的照片放到一个目录下去,之后,可以供在网上使用"上一张,下一张"的链接一张张地查看. 下面先

ASP.NET创建文件并写入内容

asp.net|创建 在ASP.NET中,文件处理的整个过程都是围绕着System.IO 这个名称空间展开的.这个名称空间中具有执行文件读.写所需要的类.本文从最基本的操作开始,解释在ASP.NET中文件处理的概念,包括如从一个文件中读取内容.如何向一个文件中写入内容和如何删除一个文件. 前面已经提到,要想在ASP.NET 页面中进行文件处理,必须要有"System.IO"名称空间.所以,第一步就是引入这个名称空间: <%@ Import Namespace="Syst

网页-如何用ASP做网站,谢谢大家

问题描述 如何用ASP做网站,谢谢大家 请教各位如何用ASP语言做网站,最好有源代码,能修改就好,小弟感激不尽 解决方案 ASP快速入门教程 ASP快速入门教程能让你一个小时就学会ASP. 如果想看懂更多的ASP代码,希望大家在网上找找ASP教程,相信看完后大家对ASP更有个感性的认识. 请熟记下面的ASP语句是你快速入门的不二法则. [html] view plain copy print? <% 语句 -- %> 定义变量dim语句 [html] view plain copy print