第15章 Web应用程序设计

上传人:xinsh****encai 文档编号:243661039 上传时间:2024-09-28 格式:PPT 页数:54 大小:1.03MB
返回 下载 相关 举报
第15章 Web应用程序设计_第1页
第1页 / 共54页
第15章 Web应用程序设计_第2页
第2页 / 共54页
第15章 Web应用程序设计_第3页
第3页 / 共54页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,HYM,D,B,单击此处编辑母版标题样式,*,HYM,D,B,单击此处编辑母版标题样式,*,HYM,D,B,C#,程 序 设 计,C# Programming Language,中原工学院软件学院,Software College,Zhongyuan,University of Technology,2010-8,第,1,章,C#,概述,第,2,章,简单的,C#,程序设计,第,3,章,C#,程序设计基础,第,4,章,控制语句,第,5,章,数组和集合,第,6,章,面向对象程序设计,第,7,章,继承和接口设计,第,8,章,Windows,窗体应用程序设计,第,9,章,用户界面设计,第,10,章,图形设计,第,11,章,文件操作,第,12,章,错误调试和异常处理,第,13,章,ADO,Contents,Web应用程序设计,第,15,章,15.1 ASP.NET概述,15.2,开发Web应用程序的准备工作,15.3,创建一个简单的Web应用程序,15.4 基本ASP.NET服务器控件,15.5 高级ASP.NET服务器端控件,15.1 ASP.NET,概述,15.1.1 ASP.NET,的发展历程,2000,年,ASP.NET 1.0,正式发布。,2003,年,ASP.NET,升级为,1.1,版本。,2005,年,11,月微软公司又发布了,ASP.NET 2.0,。,ASP.NET 2.0,技术增加了大量方便、实用的新特性,是一种建立在公共语言运行库上的编程框架,可用于在服务器上开发功能强大的,Web,应用程序。,15.1.2. ASPNET,网页的运行方式,ASP.NET,页面作为代码在服务器上运行。因此,要得到处理,页面必须配置为当使用者触发交互时提交到服务器。每次页面都会传回服务器,以便再次运行其服务器代码,然后向使用者呈现其自身的新版本。其处理循环如下:,(,1,)使用者请求页面。页面第一次运行时,执行初步处理。,(,2,)页面将标记动态呈现到浏览器中,使用者看到的网页类似于其他任何网页。,(,3,)使用者输入信息或从可用选项中进行选择,然后回车或单击按钮确定。,(,4,)页面发送到,Web,服务器中。,(,5,)在,Web,服务器上,该页再次被运行。并且可在页上使用使用者输入或选择的信息。,(,6,)页面执行用户通过编程所要实现的操作。,(,7,)页面将其自身发送给使用者的浏览器呈现该页面。,注意与,Windows,窗体运行的区别!,15.2,开发,Web,应用程序的准备工作,15.2.1,安装,Web,服务器,安装,Web,服务器实际上就是安装,IIS,服务器。,IIS,是,Internet Information Server,的缩写,是,Windows,服务器操作系统中最重要的,Web,技术。,15.2.2,创建,IIS,的虚拟目录,(,1,)首先打开“控制面板”中的“管理工具”页面,可以看到“,Internet,服务管理器”图标。双击该图标,将打开“,Internet,信息服务”对话框。,(,2,)用鼠标右击 “默认网站”,从弹出的快捷菜单中选择“新建”,|“,虚拟目录”命令。,(,3,)打开创建虚拟目录向导,单击“下一步”按钮,,(,4,)在窗口中的“别名”文本框中输入要建立虚拟目录的名称,这里输入,MyWeb,。,(,5,)单击“下一步”按钮,在打开的窗口中单击“浏览”按钮,选择要建立虚拟目录的实际文件夹。这里选择,H:,MyWeb,文件夹,单击“下一步”按钮。,(,6,)设置虚拟目录的访问权限。保持默认值。单击“下一步”按钮。,(,7,)在“默认网站”节点下有了一个,MyWeb,项,鼠标右击该项,在弹出的快捷菜单中选择“属性”命令。,(,8,)在打开的窗口中选择“目录安全性”选项卡,打开如下图所示的窗口,单击“编辑”按钮。,(,9,)打开如下图所示的对话框,勾选“集成,Windows,身份验证”复选框。单击“确定”按钮。,15.3,创建一个简单的,Web,应用程序,【,例,15.1】,创建一个,Web,应用程序,根据用户输入,Access,数据库名称(在网站主目录的,App_Data,文件夹中查找该数据库文件)连接到该数据库。,操作步骤如下:,(,1,)启动,Microsoft Visual Studio 2005,,选择“文件”,|“,新建网站”命令,打开“新建网站”对话框,在“,Visual Studio,己安装的模板”列表框中选择“,ASP.NET,网站”,在“位置”下拉列表中选择,HTTP,,在“语言”下拉列表中选择,Visual C#,。,(,2,)单击“浏览”按钮,打开 “选择位置”对话框,从中选择,MyWeb,作为其保存的位置,单击“打开”按钮,再单击“确定”按钮。,(,3,)打开,Web,窗体设计对话框,在解决方案管理器中可以看到自动生成一个名称为,Default.aspx,的,Web,窗体文件。另外,还自动生成了一个,App_Data,文件夹。在左边的“工具箱”中可以将看到各种控件。,(,4,)为了能够打开,school.mdb,数据库,将该文件复制到,H:,MyWeb,的,App_Data,文件夹中。单击解决方案管理器工具栏上的按钮,会看到,school.mdb,文件出现在解决方案管理器中。,(,5,)单击中部下方的按钮,切换到,Web,窗体设计模式,进行可视化网页设计。,(,6,)双击,button1,控件,出现代码编辑窗口,设计其事件过程。最后设计整个,Web,窗体的代码如下:,using System;,using,System.Data,;,using,System.Data.OleDb,;,/,新增,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 Button1_Click(object sender,EventArgs,e),OleDbConnection,myconn,= new,OleDbConnection,();,myconn.ConnectionString,=,Provider=Microsoft.Jet.OLEDB.4.0;Data Source = +,Server.MapPath(App_Data,) + + TextBox1.Text;,myconn.Open,();,if (,myconn.State,=,ConnectionState.Open,),Label2.Text = Access,数据库连接成功,;,else,Label2.Text = ,不能连接到,Access,数据库,;,myconn.Close,();,(,7,)单击按钮或按,F5,键,第一次运行时将有提示对话框出现,其界面如下图所示。,选中修改项(默设值),单击“确定”按钮,出现图浏览器界面,在文本框中输入,school.mdb,,单击“连接”命令按钮,其运行界面如下图所示,表示连接成功。,(,9,)启动,IE,浏览器,输入地址为,http:/,localhost/myweb,,按回车键后会启动本网站。这样就隐藏了本网站的实际地址,H:,MyWeb,,从而防止对本网站程序的攻击,这就是建立虚拟目录的好处。,15.4,基本,ASP.NET,服务器控件,15.4.1,服务器控件概述,1.,什么是服务器控件,服务器控件都包含在,ASP.NET,页面中。当运行页面时,,.NET,执行引擎将根据控件对象和程序逻辑完成一定的功能。,根据服务器控件定义方式,可分为,HTML,服务器控件、,Web,标准服务器控件和自定义服务器控件:,2.,服务器控件的属性、方法和事件,常用属性,说明,ID,控件标识,Font-Bold,字体是否为粗体,Font-Italic,字体是否为斜体,Font-Name,字体名,Font-Size,字体大小,Text,控件上显示的文本,Visible,控件是否显示,BackColor,控件的背景色,ForeColor,控件的前景色,常用方法,说明,DataBind,完成数据绑定,Focus,获得焦点,GetType,获取当前实例的类型,常用事件,说明,DataBinding,当一个控件上的,DataBind,方法被调用并且该控件被绑定到一个数据源时触发该事件。,Init,控件被初始化时触发该事件。,Load,控件被装入页面时触发该事件。在,Init,后发生。,Unload,从内存中卸载时触发该事件。,3.,服务器控件的相关操作,(,1,)向页面中添加服务器控件,可以通过以下,3,种方法添加服务器控件。,双击实现添加控件,:在,Web,页面上,把光标停留在要添加控件的位置上。在工具箱中找到想要添加的服务器控件然后双击,服务器控件就会呈现在,Web,页面上光标停留的位置。,拖曳实现添加控件,:在工具箱中找到想要添加的控件,然后拖曳到,Web,页想要添加控件的位置上。,使用代码添加控件,:还可以通过添加代码来实现添加控件。用户可以在,HTML,视图下,在想要添加控件的位置输入相应控件的代码。,(,2,)删除页面中服务器控件,删除页面中的控件有两种方法:一种方法是选中该控件,按键盘上的,Delete,键;另一种方法是选择该控件并单击鼠标右键,在弹出的快捷菜单中选择“删除”命令。,15.4.2,Label,、,Button,和,TextBox,控件,Label,服务器控件,提供了一种以编程方式设置,Web,窗体页中文本的方法,这些文本在页面上是静态的;用户无法编辑。还可以将,Label,控件的,Text,属性绑定到数据源,以在页面上显示数据库信息。,Button,服务器控件,通过用户操作完成特定工作和事务逻辑。其常用的事件有,Click,(在单击,Button,控件时触发)。,TextBox,服务器控件,为用户提供了一种向,Web,窗体输入信息(包括文本、数字和日期)的方法。通过对,TextBox,的,TextMode,属性进行设置可以得到不同的,TextBox,。另外,当用户更改,TextBox,的文本时触发,TextChanged,事件。,15.4.3,DropDownList,控件,DropDownList,(下拉列表框)服务器控件允许用户从预定义列表中选择某一项,其项列表在用户单击下拉列表以前一直保持隐藏状态。,【,例,15.2】,设计一个,Web,窗体,当用户从下拉列表中选择学生姓名和班号时,程序将用户选择的学生姓名和班号显示出来。,WebForm2,事件过程:,public partial class WebForm2 :,System.Web.UI.Page,protected void,Page_Init(object,sender,EventArgs,e),OleDbConnection,myconn,= new,OleDbConnection,();,myconn.ConnectionString,=,Provider=Microsoft.Jet.OLEDB.4.0;Data Source = +,Server.MapPath(App_Data,) + ,school.mdb,;,OleDbCommand,mycmd,= new,OleDbCommand,(,SELECT,姓名,FROM student,myconn,);,myconn.Open,();,OleDbDataReader,myreader,=,mycmd.ExecuteReader,();,DropDownList1.DataSource =,myreader,;,DropDownList1.DataTextField = ,姓名,;,DropDownList1.DataBind();,/,上面的绑定在调用该方法时才执行,OleDbCommand,mycmd1 = new,OleDbCommand(SELECT,distinct,班号,FROM student,myconn,);,OleDbDataReader,myreader1 = mycmd1.ExecuteReader();,DropDownList2.DataSource = myreader1;,DropDownList2.DataTextField = ,班号,;,DropDownList2.DataBind();,/,上面的绑定在调用该方法时才执行,myreader.Close,();,myreader1.Close();,myconn.Close,();,Label3.Text = ;,protected void Button1_Click(object sender,EventArgs,e), Label3.Text = ,学生, + DropDownList1.Text + ,属于, +,DropDownList2.SelectedValue + ,班,;,运行界面,15.4.4,CheckBox,、,CheckBoxList,、,RadioButton,和,RadioButtonList,控件,CheckBox,(复选框)和,CheckBoxList,(复选框组)服务器控件为用户提供了一种在真,/,假、是,/,否或开,/,关选项之间切换的方法。前者包含一个复选框,后者是由一组复选框组成。,RadioButton,(单选按钮)和,RadioButtonList,(单选按钮组)服务器控件允许用户从一个预定义的选项中选择一项。,【,例,15.3】,设计一个,Web,窗体,用户可以选择学生相关信息并提交。,WebForm3,事件过程:,protected void Button1_Click(object sender,EventArgs,e), string result=;,/,判断性别,if (,RadioButton1.Checked,),result += ,性别:女,; /,为屏幕换行,else,result += ,性别:男,;,/,判断年龄,if (,RadioButtonList1.SelectedItem,!= null),result += ,年龄:, +,RadioButtonList1.SelectedItem.Text,+ ;,/,读取爱好信息,if (,CheckBoxList1.SelectedIndex, -1), result += ,爱好:,;,for (,int,i = 0;i=,CheckBoxList1.Items.Count,- 1;i+),if (,CheckBoxList1.Itemsi.Selected,),result +=,CheckBoxList1.Itemsi.Text,+ &,nbsp,;,result += ;,/,是否接受邮件信息,if (,CheckBox1.Checked,),result += ,该生是三好生,;,Label1.Text = result;,运行界面,15.4.5,数据验证控件,在,ASP.NET,中,提供了以下,6,种数据验证控件(它们位于“工具箱”的“验证”部分,可以拖放到窗体上):,15.4.5,数据验证控件,在,ASP.NET,中,提供了以下,6,种数据验证控件(它们位于“工具箱”的“验证”部分):,RequiredFieldValidator,:又称非空验证控件。确保用户在,Web,窗体页上输入数据时不会跳过必填字段,也就是说,检查被验证控件的输入是否为空,如果为空,则在网页中显示提示信息。,CompareValidator,:又称比较验证控件。将用户的输入与常数值(由,ValueToCompare,属性指定)、另一个控件(由,ControlToCompare,属性指定)的属性值进行比较,若不相同,则在网页中显示提示信息。,RangeValidator,:又称范围验证控件。确保用户输入的值在指定的上下限范围之内,当输入不在验证的范围内时,则在网页中显示提示信息。,RegularExpressionValidator,:又称正则表达式验证控件。确保用户输入信息匹配正则表达式指定的模式(由,ValidationExpression,属性指定),例如,要验证用户输入的是否为,E-mail,地址,只要使用,E-mail,的正则表达式来验证用户输入即可,若不符合,则在网页中显示提示信息。,CustomValidator,:又称自定义验证控件。确保用户输入的内容符合自己创建的验证逻辑。,ValidationSummary,:又称错误总结控件。提供一个集中显示验证错误信息的地方,将本网页中所有验证控件错误信息组织好并一同显示出来。,验证控件重要的属性,属性,意义,ControlToValidate,正在验证的控件的,ID,。,ErrorMessage,验证失败时要显示的错误的文本。,【,例,15.4】,设计一个,Web,窗体,说明数据验证控件的使用方法。,WebForm4,控件类型,ID,属性,Text,属性,其他属性,TextBox,TextBox1,空,TextBox,TextBox2,空,TextMode,:,Password,TextBox,TextBox3,空,TextMode,:,Password,TextBox,TextBox4,空,Button,Button1,提交,Label,Label1,空,控件类型,ID,属性,ControlToValidate,ErrorMessage,RequiredFieldValidator,RequiredFieldValidator1,TextBox1,姓名必须填写,RequiredFieldValidator,RequiredFieldValidator2,TextBox2,密码必须填写,CompareValidator,CompareValidator1,TextBox3,两次密码不匹配,RegularExpressionValidator,RegularExpressionValidator1,TextBox4,邮箱格式错误,protected void,Page_Init(object,sender,EventArgs,e),Label1.Text = ;,protected void Button1_Click(object sender,EventArgs,e), if (,Page.IsValid,) /,用户输入均有效,Label1.Text += TextBox1.Text + ;,Label1.Text += ,的密码为,: + TextBox2.Text + ;,Label1.Text += ,邮箱为,: + TextBox4.Text;,运行界面,15.5,高级,ASP.NET,服务器端控件,15.5.1,AccessDataSource,控件,AccessDataSource,控件(从,SqlDataSource,继承)是使用,Access,数据库的数据源控件。它可以连接到,Access,数据库,从中检索数据,并使得其他数据显示控件(如,GridView,等控件)可以绑定到该数据源。,使用,AccessDataSource,控件访问数据,只需要提供用于连接到数据库的连接字符串,并定义访问数据的,SQL,语句或存储过程即可,运行时,,AccessDataSource,控件会自动打开与数据库的连接,执行相应的,SQL,语句或存储过程,完成数据访问后会自动关闭连接。,15.5.2,GridView,控件,GridView,控件可以将多种不同数据源中的数据以表格的形式显示在页面中。这些数据源可以是数据库,也可以是,XML,文件,还可以是公开数据的业务对象。,并且可以对这些数据进行编辑、删除,还可以很方便地对数据进行分页、排序、选择操作。,另外,,Visual Studio 2005,还为该控件提供名种套用格式,只需要简单的选择,就可以完成一个漂亮的页面。,GridView,控件,:,15.5.3,DetailsView,控件,DetailsView,控件在表格中显示数据源的单个记录,此表格中每个数据行表示记录中的一个字段,使用它可以编辑、删除和插入记录。,GridView,控件和,DetailsView,控件的组合使用:,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!