1、1实验 1 创建与发布 ASP.NET 应用程序目的与要求(1) 掌握 ASP.NET 运行环境的安装和配置。(2) 熟悉 ASP.NET 应用程序的创建。(3) 掌握 Web 页的发布。内容和步骤【练习 1】创建并发布 ASP.NET 应用程序(1) 打开 Visual Studio 2008,点击【文件】下的【新建网站】 ,创建一个使用文件系统的 ASP.NET 网站,仿照图 T.1 中所示布局创建一个简单的 Web 窗体页。(2) 在设计视图中双击“确定”按钮,为其 Click 事件添加事件处理代码如下:protected void Button1_Click(object sender
2、, EventArgs e)Response.Write(“姓名:“ + TextBox1.Text + “);Response.Write(“密码:“ + TextBox2.Text + “);(3) 按 Ctrl +F5 运行网页,查看效果如图 T.2 所示。图 T.2 运行效果【练习 2】发布 Web 应用程序。(1) 这里选择 Visual Studio 中的提供的预编译部署功能进行简单的网站部署测试。在Visual Studio 2008 中选择【 生成】菜单下的【发布网站】 ,弹出如图 T.3 所示的对话框,选择网站发布的目标位置,点击确定。2图 T.3 发布网站3实验 2 C#程
3、序设计目的与要求(1) 通过上机操作掌握结构化设计的基本方法。(2) 理解顺序结构、选择结构和循环结构的基本概念。(3) 掌握 ifelse、switch、for 和 while 语句的使用方法,设计一个能计算1! +2! +3!+n!的程序。(4) 通过本实验进一步理解使用 C# 2008 创建 ASP.NET 网站的一般步骤和常用编程技巧。内容和步骤【练习 1】设计阶乘和计算程序图 T-1 图 T-2(1) 问题分析:可以将问题分为“计算若干项的和”与“计算某数的阶乘”两个层次来理解,这两个层次分别通过 for 循环来处理。也就是说,可以通过一个 for 循环的嵌套来解决问题。(2) 设计
4、 WEB 页面:新建一个 ASP.NET 网站,切换到设计视图。向页面中添加需要说明文字和 1 个文本框 TextBox1;1 个按钮 Button1 和 1 和用于显示结果的标签控件 Label1。(3) 设置对象属性表 B-1 属性设置控件 属性 值 说明TextBox1 ID txtNum 文本框在程序中使用的名称ID btnOK 按钮控件在程序中使用的名称Button1Text 确定 按钮控件上显示的文本ID lblResult 标签控件在程序中使用的名称Label1Text 空 标签控件上显示的文本4实验 3 内置对象的应用目的与要求(1) 熟练掌握 Application、Sess
5、ion 对象的使用。(2) 熟练掌握 Request、Response 对象的使用。(3) 熟练掌握 Cookie 对象的使用。内容和步骤【练习 1】使用 Application 和 Session 对象统计在线人数(1) 启动 Visual Studio 2008,使用 Visual C# 语言新建一个 ASP.NET 网站。(2) 在网站中添加 Global.asax 全局应用程序文件,要求应用程序生命周期开始时,初始化在线人数。新用户会话开始时,在线人数加 1,会话结束时,在线人数减1。 Global.asax 代码如下:void Application_Start(object sen
6、der, EventArgs e) / 在应用程序启动时运行的代码/ 初始化Application“counter“ = 0;void Session_Start(object sender, EventArgs e) / 在新会话启动时运行的代码/ 对 Application 加锁以防并行性Application.Lock();/ 增加一个在线人数Application“counter“ = (int)Application“counter“ + 1;Application.UnLock(); / 解锁void Session_End(object sender, EventArgs e)
7、/ 在会话结束时运行的代码。 / 对 Application 加锁以防并行性Application.Lock();/ 减少一个在线人数Application“counter“ = (int)Application“counter“ - 1;Application.UnLock(); / 解锁(3) 在 Default.aspx 网页设计视图中放置 3 个 Label 控件,所包含的控件及属性列于表T-1 中。 表 T-1 Default.aspx 文件控件及其属性控件类别 控件名 控件标识 属性 属性值 备注Label Label1 Text 统计在线人数Web 控件Label Label2
8、Text 当前在线人数为:5Label Label3 Text (空) 用于显示计数值在页面第一次加载时,将在线人数 Application“counter“ 赋给 Label3.Text,实现在界面显示在线人数。其代码如下:Label3.Text=Application“counter“.ToString ();(4) 运行程序,结果如图 T.4 所示。连续按下”刷新” 按钮,观察网页上在线人数的变化。图 T.4 运行结果【练习 2】利用 Cookie 对象统计 IP 地址登录次数。(1) 在练习 1 建立的网站中,新建页面 IPCounter.aspx,在界面中添加一个文本框和一个按钮。(
9、2) 当用户首次访问 IPCounter.aspx 页面时,利用 Cookie 对象向客户端硬盘写入一个永不过期的 Cookie,同时计数器置 1;当用户再次访问时,读取 Cookie 并将计数器加 1 后再写入 Cookie,这些功能均在页面的 Page_load()事件代码中实现,程序代码如下:protected void Page_Load(object sender, EventArgs e)if (!IsPostBack)int lastVisitCounter;if (Request.Cookies“lastVisitCounter“ = null)lastVisitCounter
10、 = 0;elselastVisitCounter = int.Parse(Request.Cookies“lastVisitCounter“.Value);lastVisitCounter+;HttpCookie aCookie = new HttpCookie(“lastVisitCounter“);aCookie.Value = lastVisitCounter.ToString();aCookie.Expires = DateTime.MaxValue;Response.Cookies.Add(aCookie);(3) 在 IPCounter.aspx 页面中,单击按钮即可在文本框中显
11、示统计 IP 地址登录次数,6按钮的单击事件代码如下:protected void Button1_Click(object sender, EventArgs e)if (Request.Cookies“lastVisitCounter“ = null)TextBox1.Text = “1“;elseHttpCookie aCookie = Request.Cookies“lastVisitCounter“;TextBox1.Text = Server.HtmlEncode(aCookie.Value);(4) 运行程序,结果如图 T.5 所示。单击“统计”按钮,观察文本框中的值是否变化。图
12、 T.5 运行结果【练习 3】统计网站的总访问量。(1) 在练习 1 建立的网站中,新建页面 WebCounter.aspx,用来显示总访问量。(2) 统计网站的总访问量主要是在 Global.asax 全局应用程序文件中实现,要利用Application 对象来统计总访问量,另外要利用文件来保存总访问量。实现的技术要点是在应用程序启动时,从计数文件中读取总访问量的值;当用户会话启动时对总访问量加 1 后再写入 counter.txt 计数文件;当应用程序关闭时将当前的总访问量写入 counter.txt 文件。Global.asax 程序代码如下:void Application_Start
13、(object sender, EventArgs e) / 在应用程序启动时运行的代码int count = 0;7StreamReader srd;string file_path = Server.MapPath(“counter.txt“); / 取得文件的实际路径srd = File.OpenText(file_path); / 打开文件进行读取while (srd.Peek() != -1)string str = srd.ReadLine();count = int.Parse(str);srd.Close();object obj = count;/ 将从文件中读取的网站访问量
14、存放在Application对象中Application“webcounter“ = obj;void Application_End(object sender, EventArgs e) / 在应用程序关闭时运行的代码int Stat = 0;Stat = (int)Application“webcounter“;string file_path = Server.MapPath(“counter.txt“);StreamWriter srw = new StreamWriter(file_path, false);srw.WriteLine(Stat);srw.Close();void
15、Session_Start(object sender, EventArgs e) / 在新会话启动时运行的代码Application.Lock();/ 数据累加int Stat = 0;Stat = (int)Application“webcounter“; /获取Application 对象中保存的网站总访问量Stat += 1;object obj = Stat;Application“webcounter“ = obj;/将数据记录写入文件string file_path = Server.MapPath(“counter.txt“);StreamWriter srw = new St
16、reamWriter(file_path, false);srw.WriteLine(Stat);srw.Close();Application.UnLock();(3) 在页面 WebCounter.aspx 中添加如下代码来显示总访问量:您是第位访问者(4) 运行程序,结果如图 T.6 所示。页面中显示出总访问量值,当关闭浏览器后再次浏览本页面时,总访问量计数值将加 1。8图 T.6 运行结果9实验 4 ASP.NET 服务器控件应用目的与要求(1) 熟练掌握常用的 Html 服务器控件的主要属性、方法、事件。(2) 熟练掌握常用的 Web 服务器控件的主要属性、方法、事件。(3) 掌握六
17、种验证控件的主要属性、方法、事件。(4) 学会创建和使用自定义服务器控件。内容和步骤【练习 1】创建用户注册表单并验证注册信息。图 T.7 sy1.aspx 页面(2) 打开 Visual Studio 2008,点击 【文件】下的【新建网站】 ,创建一个使用文件系统的 ASP.NET 网站,命名为“实验二” 。新建网页 sy1.aspx,仿照图 T.7 中所示布局创建一个的用于用户注册的 Web 窗体页,所包含的控件的相关说明列于表 T-2 中。 (3) 在网页的后台文件 sy1.aspx.cs 中添加代码,使得出生年月日在页面首次加载(Page_load)时动态添加。代码如下:protec
18、ted void Page_Load(object sender, EventArgs e) int i;string x;if (!IsPostBack) for (i = 1980; i alert(提交成功)“);(6) 编写代码实现:当用户选择职业为“学生”时,要求立刻将文字“固定电话”改为“宿舍电话” ;当用户选择职业不是“学生”时,要求立刻将文字“宿舍电话”改为“固定电话” 。设置选择职业的列表框 ListBox1 的属性 AutoPostBack=“True“,并双击它,为其OnSelectedIndexChanged 事件添加代码如下:protected void ListBo
19、x1_OnSelectedIndexChanged(object sender, EventArgs e)if (ListBox1.SelectedValue = “学生“)Label4.Text = “宿舍电话: “;elseLabel4.Text = “固定电话: “; (7) 编写“显示密码”按钮的客户端事件,为其添加属性 OnClientClick=“fCheck(),在sy1.aspx 中添加客户端代码如下:function fCheck()12 alert(“您输入的密码: “ + form1.TextBox3.value);(8) 调试,保存,然后按 F5 运行网页,查看效果如图
20、 T.8 所示。【练习 2】利用 Wizard 向导控件实现用户注册。(1) 在练习 1 建立的网站“实验二”中,新建页面 sy2.aspx。(2) 拖放一个 Wizard 控件至页面,选择智能标签中的【自动套用格式】 ,设置一种喜爱的格式。选择【添加/移除 WizardSteps】 ,添加成 4 个步骤,并分别设置每步的 Title 属性。(3) 参考图 T.9,在四个步骤中分别添加控件。在步骤 3 中,放一个日历控件和选择年、月的下拉框,设置相应的外观样式。在步骤 4 中添加一个多行文本框。(4)设置选择职业的列表框 ListBox1 自动回传属性为真,并编写ListBox1_OnSele
21、ctedIndexChanged 事件代码。如果选择“学生” ,则下面的标签由“固定电话”变为“宿舍电话” 。具体事件代码参考练习一。(5) 添加验证控件,对用户输入的信息进行验证,具体要求参考练习一。(6) 添加页面加载事件代码,页面首次加载时初始化步骤 3 中的出生年(DropDownList1)月(DropDownList2)的两个下拉列表框,定义一个全局数组用来存储节日名,并在页面加载事件中赋值。代码如下:string, SpecialDays = new string13, 32;protected void Page_Load(object sender, EventArgs e)
22、 int i;string x;if (!IsPostBack)图 T.8 sy1.aspx 结果13 for (i = 1980; i “ + MyDay);if (MyDay = “元旦“)System.Web.UI.WebControls.Image MyImage = new System.Web.UI.WebControls.Image();MyImage.ImageUrl = “/Image/newyear.jpg“;e.Cell.Controls.Add(MyImage);e.Cell.ApplyStyle(SpecialDayStyle);catch (Exception ex
23、c)Response.Write(exc.ToString();(9) 添加 Wizard1 控件的 Finish 事件,在步骤 4 的多行文本框 tbxFinish 中显示前 3 步的注册信息。代码如下:protected void wizard1_Finished(object sender, EventArgs e) string x;x = “;15x += TextBox1.Text + “n“;x += TextBox2.Text + “n“;x += TextBox3.Text + “n“;x += TextBox4.Text + “n“;x += TextBox5.Text +
24、 “n“;x += TextBox6.Text + “n“;x += TextBox7.Text + “n“;x += ListBox1.SelectedItem.Text + “n“;x += Calendar1.SelectedDate;tbxFinish.Text = x;(10) 调试,保存,然后按 F5 运行网页,查看效果如图 T.9 所示。【练习 3】创建和使用用户控件。(1) 在练习 1 建立的网站“实验二”中,右键单击网站根目录,选择【Web 用户控件】 ,新建一个用户控件 header.ascx。(2) 右键单击 App_Data,选择【XML 文件】 ,新建一个 XML 文
25、件 ad.xml,打开 ad.xml添加如下代码:/image/phei.pnghttp:/ 在【设计 】视图下,拖放一个 AdRotator 控件至页面,设置其 AdvertisementFile 属性为“App_Data/ad.xml“。16(4) 保存 header.ascx 文件。(5) 在练习 1 建立的网站中,打开 default.aspx 文件。(6) 新建 image 文件夹,放置一些图片在其中。(7) 在【设计 】视图下,拖放一个 ImageMap 控件至页面,设置其 ImageUrl 属性为image 文件夹中的一幅图像“image/imgmap.jpg“。单击 HotSp
26、ot 属性旁的省略号按钮,如图T.10 所示,在弹出的 HotSpot 集合编辑器对话框中为 ImageMap 控件设置两个矩形热区,并设置热区的 HotSpotMode 属性为“Navigate“。(8) 调试运行 default.aspx 文件,直至达到预期效果。(9) 将 default.aspx 文件改造成一个用户自定义控件:重命名为 footer.ascx,去掉、等标签,修改后 footer.ascx 代码如下:(10) 打开练习一创建的网页 sy1.aspx,从【解决方案资源管理器】中选定 header.asax文件,拖放至 sy1.aspx 页面的顶部,再选定 footer.as
27、ax 文件拖放至页面底部。(11) 保存 sy1.aspx,调试,按 F5 运行网页,查看效果如图 T.11 所示。图 T.10 HotSpot 集合编辑器图 T.11 用户控件运行结果17实验 5 母版、主题和导航设计目的与要求(1) 熟练掌握母版的使用方法。(2) 熟练掌握主题及皮肤的使用与切换方法。(3) 掌握导航控件的属性、方法和事件。内容和步骤【练习 1】母版应用及动态加载母版。(1) 启动 Visual Studio 2008,使用 Visual C# 语言新建一个 ASP.NET 网站,命名为“实验四” 。(2) 右键单击网站“实验四” ,选择【添加新项】 ,在打开的对话框中选择
28、【母版页】 ,创建母版页,命名为 Master1.master。(3) 打开 Master1.master,切换到【设计】视图,仿照图 T.12 进行母版页设计,放置一个表格用以布局,网页左侧上部放置一个 Calendar 控件,网页头部设计网站名称并在右侧添加一个 Image 控件,脚部放置版权信息等,在适当位置放置两个 ContenPalceHolder 控件。根据喜好放置其他控件,设置控件属性。(4) 新建另一个母版页 Master2.master,切换到【设计】视图,仿照图 T.13 进行母版页设计,放置一个表格用以布局,网页左侧上部放置一个 AdRotator 控件,下部放置一个Ca
29、lendar 控件。网页头部设计网站名称,脚部放置版权信息等。在左侧和右侧适当位置放置两个 ContenPalceHolder 控件。根据喜好放置其他控件,设置控件属性。(5) 右键单击网站“实验四” ,添加新项,选择【Web 窗体】 ,勾选右下角的复选框【选择母版页】 ,在弹出的对话框中选择“Master1.master” ,将新建的网页命名为sy1.aspx。设计网页,如图 T.14 所示,在左侧的 Content 中放置两个 HyperLink 控件,分别设置属性 NavigateUrl 为“sy1.aspx?master=master1“和“sy1.aspx?master=master
30、2“。在右侧的Content 中布置用于调查的表单:放置一个复选框列表控件 CheckBoxList1 并编辑 ListItem;图 T.12 Master1 设计界面18放置两个按钮控件 Button1 和 Button2,分别用于提交和重选;放置一个标签控件 Label1,用于显示调查结果。(6) 双击“提交 ”按钮 button1,为其添加 Click 事件代码:protected void Button1_Click(object sender, EventArgs e) int i;string str = “你选择的是:“;for (i = 0; i (3) 打开 cssfile1
31、.css,在空白处单击右键,选择【添加样式规则】 ,添加需要设置的样式。在生成的样式内单击右键,选择【生成样式】 。在弹出的对话框中分别设置【字体】 、【块】等样式风格,格调仍旧为暖色调。重复这两步,直到符合需要的样式添加生成完毕。cssfile1.css 文件中部分代码如下:BODY PADDING-RIGHT: 10px; 图 T.16 主题文件夹结构21PADDING-LEFT: 10px; FONT-SIZE: 14px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px 10px 0px; PADDING-TOP: 0px; FONT-FAMILY: Ari
32、al; BACKGROUND-COLOR: #ec98c9; WORD-WRAP: break-wordtablefont-family: 幼圆;font-size: larger;background-color: #FFCCFF;(4) 仿照步骤 2 和 3,设计另一个主题中的 Theme2 中的 SkinFile2.skin 和 cssfile2.css,整体风格为冷色调。风格可参考图 T.18。(5) 在网站 “实验四 ”中新建网页 sy2.aspx,新建时使用母版,选择练习一中创建的母版二。参考图 T.17 设计内容页面,在左侧的 Content 中添加两个 HyperLink 控件
33、,并分别设置分别设置属性 NavigateUrl 为“sy2.aspx?theme=1“ 和“sy2.aspx?theme=2“。在右侧的Content 中布置用于调查的表单:放置一个复选框列表控件 CheckBoxList1 并编辑 ListItem;放置两个按钮控件 Button1 和 Button2,分别用于提交和重选;放置一个标签控件 Label1,用于显示调查结果。(6) 双击“提交 ”按钮 button1,为其添加 Click 事件代码:图 T.17 选择 Theme1 的运行结果22protected void Button1_Click(object sender, Event
34、Args e) int i;string str = “你选择的是:“;for (i = 0; i (4) 打开母版文件 Master1.master,参考图 T.19,拖放一个 SiteMapPath 控件至页面的左侧上部,在日历控件的下方拖放一个 TreeView 控件。根据喜好调整设置 SiteMapPath 控件和 TreeView 控件相关属性,使之美观。(5) 从【工具箱】的【数据】选项卡中拖放一个 SiteMapDataSource 控件至窗体上,它会自动绑定网站中创建的网站地图 Web.sitemap。在 TreeView 控件的智能标签上【选择数据源】 ,选择刚才创建的控件
35、SiteMapDataSource1。(6) 保存,运行练习一中使用母版一的网页 sy1.aspx,结果如图 T.19 所示。(7) 打开母版文件 Master2.master,参考图 T.20,拖放一个 Menu 控件至页面的左侧上部。根据喜好调整设置 Menu 控件相关属性,使之美观。(8) 从【工具箱】的【数据】选项卡中拖放一个 SiteMapDataSource 控件至窗体上,它会自动绑定网站中创建的网站地图 Web.sitemap。在 Menu 控件的智能标签上【选择数据源】 ,选择刚才创建的控件 SiteMapDataSource1。25(9) 保存,运行运行练习二中使用母版二的网
36、页 sy2.aspx,结果如图 T.20 所示。 图 T.19 导航控件的运行结果一图 T.20 导航控件的运行结果二26实验 6 简单数据库应用设计目的与要求(1) 掌握在 SQL Server 2005 中创建数据库、表的方法;(2) 掌握使用 ADO.NET 编程模型访问数据库的基本步骤;(3) 掌握 SqlDataReder 对象和 SqlCommand 对象的使用方法。内容与步骤【练习 1】本实验要求完成以下任务:(1) 在 SQL Server 2005 中建立数据库 MyBBS_Data,并在该数据库中创建数据表User。User 表包含 7 个字段,分别是:用户 ID、登录名、
37、用户名、密码、地址、个人主页、电子邮件。表结构参考第 7 章综合应用中的数据库表结构。(2) 实现会员注册:即提供会员信息输入界面,由用户输入数据,再将用户所输入的数据添加到 User 表。(3) 实现会员登录:由用户输入登录名和密码,与 User 表中的数据对照,给出登录成功或失败的提示。步骤如下:1. 在 SQL Server 2005(SQLEXPRESS)中创建数据库 MyBBS_Data,并创建数据表User(1) 启动 Visual Studio 2008,使用 Visual C# 语言新建一个 ASP.NET 网站命名为 BBS。在App_Data 目录中添加新项,创建 SQL
38、Server(SQLEXPRESS )数据库,在如图 T.21 所示的对话框,选择“SQL SERVER 数据库” ,输入数据库名 MyBBS_Data,点击“确定” 。图 T.21 添加新项对话框(2) 在服务器资源管理器中的“数据连接”分支下展开 MyBBS_Data 数据库分支,在“表”项上单击右键,选择“添加新表” ,在表设计窗口中输入 User 表的各字段名和数据类型。(3) 保存修改,在出现的对话框中输入表名“User” ,点击“确定” 。2. 实现会员注册(1) 设计“会员注册”应用程序界面。在网站 BBS 中,添加注册网页 Register.aspx。然27后按图 T.22 设
39、计注册页 Register.aspx 的界面,所包含的控件及属性列于表 T-3 中。图 T.22 会员注册界面(设计时)表 T-3 Register.aspx 文件包含的控件及其属性控件类别 控件名 控件标识 属性 属性值 备注TextBox TxtLoginName Text (空) 登录名TextBox TxtName Text (空) 用户名TextBox TxtAddress Text (空) 住址TextBox TxtHomePage Text (空) 个人主页Text (空)TextBox TxtPassTextMode Password密码TextBox TxtEmail Tex
40、t (空) 邮箱Text 注册BackColor #C0C0FFButton BtnRegBorderColor #C0C0FFText 取消BackColor #C0C0FFButton BtnCancelBorderColor #C0C0FFLabel LblCaution Text (空) 显示提示RequiredFieldValidator rfvLoginName ControlToValidate TxtLoginName 验证登录名RequiredFieldValidator rfvName ControlToValidate TxtName 验证用户名Web 控件Require
41、dFieldValidator rfvPass ControlToValidate TxtPass 验证密码(2) 编写程序。在 web.config 配置文件中配置数据库连接字符串 MyBBS_DataConnectionString,配置信息如下:28双击 Register.aspx 界面上的“注册”按钮,打开程序编辑窗口,输入 BtnReg_Click()事件处理程序代码:protected void BtnReg_Click(object sender, EventArgs e)System.Data.SqlClient.SqlConnection conn = new SqlConn
42、ection();conn.ConnectionString = ConfigurationManager.ConnectionStrings“MyBBS_DataConnectionString“.ConnectionString;conn.Open();/ 检查用户是否已存在SqlCommand Cmd = new SqlCommand();Cmd.Connection = conn;Cmd.CommandText = “select LoginName from User“;SqlDataReader dr = Cmd.ExecuteReader();while (dr.Read()if
43、 (dr.GetString(0) .trim()= TxtName.Text)(去掉 dr.GetString(0)后的空格字符与TxtName.Text)进行验证)LblCaution.Text = TxtName.Text + “已经存在,请你选择另外的登录名! “;conn.Close();return;conn.Close();string SqlStr;SqlStr = “Insert into User(LoginName,UserName,Password,Address,Homepage,Email) values(LoginName,UserName,Password,Ad
44、dress,Homepage,Email)“;Cmd.CommandText = SqlStr;/ 添加参数对象,并给参数赋值SqlParameter para1 = new SqlParameter(“LoginName“, SqlDbType.VarChar, 50);para1.Value = TxtLoginName.Text;Cmd.Parameters.Add(para1);SqlParameter para2 = new SqlParameter(“UserName“, SqlDbType.VarChar, 50);para2.Value = TxtName.Text;Cmd.P
45、arameters.Add(para2);SqlParameter para3 = new SqlParameter(“Password“, SqlDbType.VarChar, 50);para3.Value = TxtPass.Text;Cmd.Parameters.Add(para3);SqlParameter para4 = new SqlParameter(“Address“, SqlDbType.VarChar, 100);para4.Value = TxtAddress.Text;Cmd.Parameters.Add(para4);SqlParameter para5 = new
46、 SqlParameter(“Homepage“, SqlDbType.VarChar, 50);para5.Value = TxtHomePage.Text;Cmd.Parameters.Add(para5);29SqlParameter para6 = new SqlParameter(“Email“, SqlDbType.VarChar, 50);para6.Value = TxtEmail.Text;Cmd.Parameters.Add(para6);tryconn.Open(); / 打开数据库连接Cmd.ExecuteNonQuery(); / 将添加记录LblCaution.Te
47、xt = “恭喜你,你已注册成功!“;catch (SqlException sqlException)Response.Write(sqlException.Message); / 显示连接异常信息finallyif (conn.State = ConnectionState.Open)conn.Close();双击 Register.aspx 界面上的“取消”按钮,打开程序编辑窗口,输入 BtnCancel_Click()事件处理程序代码:protected void BtnCancel_Click(object sender, EventArgs e)TxtLoginName.Text
48、= “;TxtName.Text = “;TxtPass.Text = “;TxtAddress.Text = “;TxtHomePage.Text = “;TxtEmail.Text = “;LblCaution.Text = “;Response.Write(“alert(用户已取消注册!);“); (3) 运行程序,结果如图 T.23 所示。程序生成一个信息输入表单,由用户输入注册信息。当按下“注册”按钮后,若用户所输入的登录名未被使用过,并且其他信息输入均正确,则提示他注册成功,否则,提示注册失败信息。30图 T.23 输入注册信息3. 实现会员登录(1) 设计“会员登录 ”应用程序界面。 在网站 BBS 中添加一个登录页 Login.aspx。 按图 T.24 设计 Login.aspx 的界面,所包含的控件及各控件的属性列于表 T-4 中。图 T.24 会员登录界面(设计时)表 T-4 Login.aspx 文件包含的控件及其属性控件类别 控件名 控件标识 属性 属性值 备注TextBox TxtName Text (空)Text (空)TextBox TxtPassTextMode PasswordText 登录BackColor #C0C0FFButton