1.3 第一个ASP.NET程序
本节通过一个完整的ASP.NET程序,了解ASP.NET程序开发的步骤,让读者对VS2010开发环境有一个初步的了解。
1.3.1 认识和配置Visual Studio 2010开发环境
安装好VS2010之后,单击“开始”|“程序”|“所有程序”|“Microsoft Visual Studio 2010”菜单命令,便可以将其打开。
第一次打开时,VS2010要求进行默认环境设置,如图1-2所示。选中“Visual C#开发设置”项,会自动将IDE布局成方便C#开发的环境和界面。也可以随时选择不同的开发设置。方法是单击“工具”|“导入和导出设置”菜单,然后选择“重置所有设置”选项。单击“下一步”按钮,根据提示便可完成设置。
图1-2 默认环境设置对话框
选择“Visual C#开发设置”选项,单击“启动Visual Studio”按钮,弹出如图1-3所示开发环境,起始页左上角是“最近的项目”,如果之前开发过一些项目,则该窗口中将会列出部分项目。窗体的右边是“解决方案资源管理器”和“属性”窗口。其中“解决方案资源管理器”中放置了当前打开项目的所有文件;“属性”窗口,用于显示项目中选定控件的属性。当前没有打开项目,所有两个窗口内容都是空白。下面将通过实例介绍利用VS2010创建项目。
图1-3 Microsoft VS 2010界面
Tips 本书所有项目均通过VS2010创建。
1.3.2 第一个ASP.NET程序
利用ASP.NET编写的程序通常由一个个的页面组成,即所谓的网页。ASP.NET应用程序不同于Windows应用程序,因为它的运行离不开Web服务器的支持,通俗地讲这里的Web服务器就是Internet信息服务器(IIS)。如果计算机上没有安装IIS,也不必担心;因为在VS2010中,可以使用其内置的ASP.NET Development Server(ASP.NET开发服务器)作为Web服务器。
1.3.3 创建ASP.NET程序
为了方便介绍VS2010开发ASP.NET应用程序的基本流程,下面将以一个ASP.NET应用程序实例说明。具体步骤如下所示。
(1)打开VS2010,单击“文件”|“新建”|“网站”命令,弹出“新建网站”对话框,如图1-4所示。
图1-4 “新建网站”对话框
(2)选中“模板”列表框中的ASP.NET空网站,创建一个没有任何内容的空网站。如果没有安装IIS,应确保“位置”组合框中前一个下拉列表框显示为“文件系统”。在后一个列表框中输入完整存放路径及名称。其默认名为“WebSite1”,可以将其改为“FirstASPNET”。别忘记选择语言为“Visual C#”。
(3)完成设置之后单击“确定”按钮。系统开始初始化网站,最后得到如图1-5所示的界面。
图1-5 ASP.NET应用程序设计窗口
(4)此时网站中没有任何内容,右键单击项目名称“FirstASPNET”,在弹出的快捷菜单中,选择“添加新项”命令,打开如图1-6所示的对话框。
图1-6 “添加新项”对话框
(5)选择模板列表中的“Web窗体”,默认名字为“Default.aspx”。单击“添加”按钮回到VS2010主界面。
(6)在“解决方案资源管理器”中可以看到,系统添加了一个“Default.aspx”页面;并且给出了页面的HTML代码,如“源”视图中所示代码。对应下面的“源”视图按钮,其左边为“拆分”按钮,用于拆分显示代码与实际显示效果。单击其最左边的“设计”视图按钮,即切换到所见即所得设计页面。在“工具箱”中依次拖放一个“TextBox”控件、一个“Button”按钮控件、一个“Label”按钮,放入“设计”页面中。在“Button”按钮的“属性”窗口中,设置其“Text”属性为“确定”。在“Label”标签的“属性”窗口中,设置其“Text”属性为空。最终效果如图1-7所示。
图1-7 控件的属性设置效果
(7)双击“确定”按钮,进入Default.aspx.cs页面。为其添加事件处理程序,整个文件代码如下所示。
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) //当页面加载时发生 { } protected void Button1_Click(object sender, EventArgs e) //“Button1”单击事件 { string s = "你输入了:"; //将“Label1”的“Text”属性设置为给定的字符串 this.Label1.Text = s+this.TextBox1.Text; } }
(8)单击“调试”|“开始执行(不调试)”命令,编译通过之后系统会打开IE浏览器。在输入框中输入一串字符串,如“你好,我的朋友!”,并单击“确定”按钮,运行效果如图1-8所示。
图1-8 ASP.NET应用程序运行结果
1.3.4 Web程序和Windows程序的区别
从ASP.NET应用程序的建立过程来看,其步骤和建立Windows应用程序非常相似。不同之处主要有如下几点。
(1)需要对站点“位置”设置站点使用服务器模式,如图1-9所示。分为“文件系统”、“HTTP”和“FTP”。在下拉列表中选择“文件系统”选项,则系统会建立一个临时的Web服务器。该服务器安全性较高,外部不能访问;如果要选择“HTTP”项,则要求计算机架设了Web服务器;“FTP”选项表示将文件存放到远程的目录,该模式适用于对已经存在的远程Web站点做修改。
图1-9 设置站点使用服务器模式
(2)网站设计前和设计后的“设计”视图发生变化的同时,其“源”视图也发生了相应的变化。下面是设计完成后,“源”视图中“Default.aspx”的代码。
//Page指令,配置页面属性 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits= "_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > //HTML开始标记 <head runat="server"> //头的开始标记,定义头 <title>无标题页</title> //<title></title>之间设置网页标题名 </head> //头的结束标记 <body> //正文部分开始标记 <form id="form1" runat="server"> //<设置标单属性> <div> //定义区隔标记,容纳控件 //设置服务器端控件 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="确定" /> <asp:Label ID="Label1" runat="server"></asp:Label> </div> //区隔标记结束 </form> //标单结束标记 </body> //正文结束标记 </html> //HTML结束标记
Tips ASP.NET采用了页面分离技术,真正实现了用户界面和逻辑界面的分离。上述文件“Default.aspx”便是用户界面设计结果。“<%”和“%>”之间是Page指令,定义了页面的编程语言和使用到的类等信息。接下来的代码主要定义了使用到的控件、控件位置、属性和事件等。