在 VS.NET 中编写 Web 应用程序(附图)(推荐) |
本教程将一步步地引导你创建一个 Web 应用程序。在 .NET运行时间内,Web应用程序在一个 ASP.NET页面后台运行。ASP.NET 凭借.NET语言,包括 C#、VB.NET和 Jscript,提供了一个很棒的工作环境,这里使用的是C#编程语言(可下载工程文件包)。 本文分成三部分:DataGrid Web 控件简介、Web表单的生命周期、用VS.NET 开发Web 表单应用程序。 ASP.NET 平台的运行条件 要运行一个 ASP.NET应用程序,必须要在Windows 2000或者Windows NT 4 + Service Pack 6a操作系统上安装Web Server(IIS) 。我们可以使用任何 .NET 语言来编写代码,包括VB.NET 和 C#。这里的环境是:Windows 2000 + Visual Studio.NET Beta 1 + Personal Web Server + C#。 第一部分:DataGrid 控件简介 这个教程使用DataGrid Web 控件显示数据库表中的数据。应用程序开始前,先讨论一下 DataGrid Web 控件。 DataGridWeb控件负责显示数据库中的表数据。借助ADO.NETDataSet(数据集)对象,我们可以将一个数据库表或部分表数据与栅格建立连接。首先创建一个ADODataSetCommand对象,并从一个数据库表中选择数据。在这里的例子中,我使用了一个叫做myDB.mdb的数据库,它有一个表 myTable: // Create an object of ADODataSetCommand ADODataSetCommand myCmd = new ADODataSetCommand( "Select * from myTable", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=myDB.mdb"); 接着创建并填充 DataSet(数据集)对象: // Create a DataSet Object DataSet ds = new DataSet(); // Fill DataSet with the data myCmd.FillDataSet(ds, "Student"); 然后用DataGrid 的DataSource属性将DataSet(数据集)的数据填充到栅格中,其中使用了DataBind()方法: // View Data from DataSet to DataGrid DataGrid1.DataSource = ds.Tables["Student”].DefaultView; DataGrid1.DataBind(); 下面介绍DataGrid Web 控件的属性。 DataGridWeb控件包含一套丰富的属性,借助它们,就可以用自己喜欢的方式来定制栅格。在DataGrid上点击右键并点击属性页面按钮,进入属性设置窗口: 通用属性 这个页面中设置 DataSource。可以允许显示页眉和页脚,允许分类复选框,允许在栅格中进行分类: 栏属性 下面的页面中可以增加栏(设计时)和它们的属性: 分页属性 分页是栅格控件的一个重要特征。在下面的页面中,设置每页的行数、栅格行的格式并激活定制页面: 格式属性 在下面这个页面允许设置栅格的颜色、字体,页面、页眉和页脚: 边框属性 下面这个页面允许设置边框的颜色和字体、单元的填料和间隔以及栅格行的类型: 第二部分:Web 表单的生命周期 如果你曾经在VS以前版本中设计过Windows分布式应用程序,你就会发现在Web表单应用程序和分布式应用程序之间有许多相同之处。本教程只简单讨论Web表单生命周期的一些内容,目的是使你对 Web表单如何工作有个概念。 一个Web表单的生命周期中有4个步骤:初始化、页面装载、事件处理和资源清理。 1)页面初始化 当页面被初始化时,发生第一个事件Page_Init。系统会执行创建和设置一个例示所需要的所有初始化步骤。 2)页面装载 页面装载在初始化之后,所发生的事件叫做 Page_Load,它的用途如下: 检查页面是不是第一次被处理; 第一次处理页面时执行数据捆绑,或者在以后的循环过程中重新判断数据捆绑表达式; 读取和更新控件属性; 恢复在保存步骤中所保存的前一个客户请求的状态; 3)事件处理 Web表单上的每个动作都激活一个到达服务器的事件。一个Web表单有两个视图:一个客户视图和一个服务器视图。所有的数据处理都在服务器上进行。当通过点击鼠标或其它方法引起一个事件时,事件就到达服务器并返回相应的数据。 4)资源清理 最后一步发生于一个表单完成了它的任务并且准备卸载的时候,这时激活Page_Unload事件,完成最后的资源清理工作,比如:关闭文件,关闭数据库连接,丢弃对象。 第三部分:开发Web应用程序 好,现在进行到开发 Web 表单应用程序这一步了。 创建工程文件的框架 用Visual Studio.NET创建一个Web应用程序并不困难,只需遵循几个简单步骤,向导就会为你创建一个很好的框架。此后,就可以用Web控件制工具箱向ASP页面中安置一些Web控件,然后就象在任何基于GUI应用程序的表单中所做的那样,设置这些控件属性。请跟随以下步骤: 第一步:选择一个工程文件 从Visual Studio .NET 主菜单中,选择“文件->新建>工程文件”,选择“Visual C# 工程文件->Web应用程序”,在文件名文本框中键入你的工程文件名,在位置文本框中是你的web服务器的根目录,使用浏览按钮可以找到正确的路径。选择了这些内容之后,点击 OK。 第二步:设置属性 下一个画面是这样的: WebForm1.aspx是默认的ASP.NET页面,其中容纳了ASP.NET代码和控件。你可以把这个页面当作一个WebForm来对待。使用左侧的工具箱,向页面中拖曳和放置控件。 在页面上点击右键来设置页面的属性,图示如下: 这个窗口共有3个功能页,通用页让你选择脚本语言和页面版面,另外两个用于设置页面文本、超级链接以及被访问过的超级链接和关键字的颜色和字体。 第三步:向 WebForm增加控件 现在使用工具箱向页面中增加Web控件。这里增加了两个控件,一个按钮和一个 DataGrid 。点击右键可以设置这些控件的属性。 第四步:增加事件处理器 这以前已经展示了 DataGrid 和ADO.NET,下面将使用同样的技术,在DataGrid中填充一个数据库的数据。点击Button来填充栅格。 双击这个按钮,进入WebForm1.cs文件中,开始编写与按钮相应的事件处理器: Button1.Click += new System.EventHandler (this.Button1_Click); public void Button1_Click (object sender,System.EventArgs e) { } Here is the code of the cs file - namespace CSCornerWebAppSample { 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; /// <summary> /// Summary description for WebForm1. /// </summary> public class WebForm1 : System.Web.UI.Page { protected System.Web.UI.WebControls.DataGrid DataGrid1; protected system.Web.UI.WebControls.Button Button1; public WebForm1() { Page.Init += new System.EventHandler(Page_Init); } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // // Evals true first time browser hits the page // } } protected void Page_Init(object sender, EventArgs e) { // // CODEGEN: This call is required by the ASP+ Windows Form Designer. // InitializeComponent(); } /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { Button1.Click += new System.EventHandler (this.Button1_Click); this.Load += new System.EventHandler (this.Page_Load); } public void Button1_Click (object sender, System.EventArgs e) { } } } 第五步:在按钮的OnClick 上组装DataGrind 现在来编写按钮点击事件时填充栅格控件的代码。 在工程文件中使用ADO对象之前需增加对System.Data.ADO名称空间的引用: using System.Data.ADO; 下面是Button1_Click 方法的代码: public void Button1_Click (object sender, System.EventArgs e) { ADODataSetCommand CmdSet = new ADODataSetCommand( "Select * from myTable", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\myDB.mdb"); DataSet ds = new DataSet(); CmdSet.FillDataSet(ds, "myTable"); DataGrid1.DataSource = ds.Tables["myTable"].DefaultView; DataGrid1.DataBind(); } 第六步:编译并运行 现在用 CTRL+F5 或菜单项来编译和运行应用程序。这个工程文件打开一个浏览器的新例示,看起来是这样的: 现在点击Button看看结果,看起来是下面的样子,DataGrid中填充了来自数据库的myTable表中的数据: 这是一个非常基本的Web应用程序。现在你可以通过设置它的属性来定制Grid控件,并且开发更有用的应用程序,如在数据库中读取、删除、插入、更新记录。甚至还可以使用其它数据库,如 SQL Server。 |