第18章 Web应用程序设计

上传人:y****8 文档编号:141578273 上传时间:2020-08-10 格式:PPT 页数:61 大小:1.62MB
返回 下载 相关 举报
第18章 Web应用程序设计_第1页
第1页 / 共61页
第18章 Web应用程序设计_第2页
第2页 / 共61页
第18章 Web应用程序设计_第3页
第3页 / 共61页
第18章 Web应用程序设计_第4页
第4页 / 共61页
第18章 Web应用程序设计_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《第18章 Web应用程序设计》由会员分享,可在线阅读,更多相关《第18章 Web应用程序设计(61页珍藏版)》请在金锄头文库上搜索。

1、第18章Web应用程序设计,18.1 ASP.NET概述 18.2 创建一个简单的Web应用程序 18.3 基本ASP.NET服务器控件 18.4 高级ASP.NET服务器端控件,18.1 ASP.NET概述,2000年ASP.NET 1.0正式发布 2003年ASP.NET升级为1.1版本 2005年发布ASP.NET 2.0 2008年发布ASP.NET 3.5 2010年发布ASP.NET 4.0 2012年发布ASP.NET 4.5 ,18.1.1 ASP.NET的发展历程,18.1.2 ASP.NET网页的组成,在ASP.NET网页中,用户的编程工作分为两个部分:可视元素和逻辑。,可

2、视元素由一个包含静态标签(例如HTML或ASP.NET服务器控件或两者)的文件组成。ASP.NET网页用作要显示的静态文本和控件的容器。 ASP.NET网页的逻辑由代码组成,这些代码由用户创建与页进行交互。代码可以驻留在页的script块中或者单独的类中。如果代码在单独的类文件中,则该文件称为“代码隐藏”文件。代码隐藏文件中的代码在本书中使用C#来编写。,ASP.NET页面作为代码在服务器上运行。因此,要得到处理,页面必须配置为当使用者触发交互时提交到服务器。每次页面都会传回服务器,以便再次运行其服务器代码,然后向使用者呈现其自身的新版本。,18.1.3 ASPNET网页的运行方式,注意与Wi

3、ndows窗体运行的区别!,18.1.4 ASP.NET网页代码编写模型,ASP.NET提供两种代码编写模型:单文件页模型和代码隐藏页模型。这两个模型功能相同,在两种模型中可以使用相同的控件和代码。,1. 单文件页模型 在单文件页模型中,页的标记及其编程代码位于同一个.aspx文件中。 编程代码位于script块中,该块包含runat=server属性,此属性将其标记为ASP .NET应执行的代码。,2. 代码隐藏页模型 通过代码隐藏模型,可以在一个文件(.aspx)中保留标记,并在另一个文件中保留编程代码。 代码文件的名称会根据所使用的编程语言而有所变化。这种模型的优点是可以清楚地分隔标记(

4、HTML代码)和代码(程序代码),适用于包含大量代码或多个开发人员共同创建网站的Web应用程序,便于程序的维护和升级。,18.2 创建一个简单的Web应用程序,【例18.1】创建一个Web窗体WebForm1,根据用户输入Access数据库名称(在网站主目录的App_Data文件夹中查找该数据库文件)连接到该数据库。,解:操作步骤如下: 启动Visual Studio 2012,选择“文件|新建|网站”命令,打开“新建网站”对话框,选择“Visual C#”语言(默认值),在中间“己安装的模板”列表框中选择“ASP.NET Web窗体网站”,在“Web位置”下拉列表中选择“文件系统”(默认值)

5、,单击“浏览”按钮选择“D:C#程序ch18”文件夹(存放网站的位置),如图18.2所示,这样将创建了一个名称为ch18的Web项目。,文件系统:表示建立文件系统网站,此时在文件系统网站中,可以在任何所需的文件夹中创建和编辑文件,其位置可以在本地计算机上或是在通过网络共享访问的另一台计算机上的文件夹中,无须在计算机上执行 IIS,但可以发布到一个HTTP网站。 HTTP:表示创建从其他计算机访问的网站,必须具有管理员权限才能创建或调试IIS网站。 FTP:表示创建FTP服务器,可以依照FTP协议提供服务。, 单击“确定”按钮,系统自动在指定的位置创建一个网站,包含一系列的文件夹和文件,如App

6、_Data文件夹用于存放数据,这里可以将第15章的school.accdb文件复制到该文件夹中。 并自动生成一个名称为Default.aspx的Web窗体文件(通常作为网站的主页),首先出现该Web窗体的代码窗口,如图18.3所示。, Default.aspx网页是自动采用系统母版页创建的,看上去比较复杂,这里新建一个Web窗体WebForm1。 其步骤是: 选择“网站|添加新项”命令,出现如图18.4所示的对话框,选中“Web窗体”,修改名称为“WebForm1.aspx”,不勾选右下方“选择母版页”,单击“添加”按钮。, 进入WebForm1窗体的设计界面,单击中部下方的 按钮,切换到We

7、b窗体设计模式,从“工具箱”中拖动控件进行设计,。该Web窗体的设计界面如图18.5所示。, 在Web窗体设计模式中双击Button1控件,出现代码编辑窗口,在引用部分添加以下语句: using System.Data.OleDb;,设计该命令按钮的单击事件过程如下:,protected void Button1_Click(object sender, EventArgs e) string mystr; OleDbConnection myconn = new OleDbConnection(); mystr = Provider=Microsoft.ACE.OLEDB.12.0;Data

8、 Source=+ Server.MapPath(App_Data)+ TextBox1.Text; myconn.ConnectionString = mystr; myconn.Open(); if (myconn.State = System.Data.ConnectionState.Open) Label2.Text = 成功连接到Access数据库; else Label2.Text = 不能连接到Access数据库; myconn.Close(); , 该窗体设计完成。单击中部下方的 按钮可以看到上述设计对应的源程序。, 单击工具栏的 按钮或按F5键执行Web窗体。第一次执行时将有

9、提示对话框出现,其界面如图18.7所示。,18.3 基本ASP.NET服务器控件,1. 什么是服务器控件 服务器控件都包含在ASP.NET页面中。当运行页面时,ASP.NET引擎将根据控件对象和程序逻辑完成一定的功能。 根据服务器控件定义方式,可分为HTML服务器控件、Web标准服务器控件和自定义服务器控件:,18.3.1服务器控件概述,2. 服务器控件的属性、方法和事件,3. 服务器控件的相关操作 (1)向页面中添加服务器控件 可以通过以下3种方法添加服务器控件。,双击实现添加控件:在Web页面上,把光标停留在要添加控件的位置上。在工具箱中找到想要添加的服务器控件然后双击,服务器控件就会呈现

10、在Web页面上光标停留的位置。 拖曳实现添加控件:在工具箱中找到想要添加的控件,然后拖曳到Web页想要添加控件的位置上。 使用代码添加控件:还可以通过添加代码来实现添加控件。用户可以在HTML视图下,在想要添加控件的位置输入相应控件的代码。,(2)删除页面中服务器控件 删除页面中的控件有两种方法:一种方法是选中该控件,按键盘上的Delete键; 另一种方法是选择该控件并单击鼠标右键,在弹出的快捷菜单中选择“删除”命令。,Label服务器控件提供了一种以编程方式设置 Web 窗体页中文本的方法,这些文本在页面上是静态的;用户无法编辑。还可以将 Label 控件的Text属性绑定到数据源,以在页面

11、上显示数据库信息。 Button服务器控件通过用户操作完成特定工作和事务逻辑。其常用的事件有Click(在单击Button控件时触发)。 TextBox服务器控件为用户提供了一种向Web窗体输入信息(包括文本、数字和日期)的方法。通过对TextBox的TextMode属性进行设置可以得到不同的TextBox。另外,当用户更改TextBox的文本时触发TextChanged事件。,18.3.2Label、Button和TextBox控件,DropDownList(下拉列表框)服务器控件允许用户从预定义列表中选择某一项,其项列表在用户单击下拉列表以前一直保持隐藏状态。,18.3.3DropDown

12、List控件,【例18.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.ACE.OLEDB.12.0;Data So

13、urce= + Server.MapPath(App_Data)+school.accdb; OleDbCommand mycmd = new OleDbCommand( SELECT 姓名 FROM student, myconn); myconn.Open(); OleDbDataReader myreader = mycmd.ExecuteReader();,DropDownList1.DataSource = myreader; DropDownList1.DataTextField = 姓名; DropDownList1.DataBind(); /上面的绑定在调用该方法时才执行 Ol

14、eDbCommand 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(); L

15、abel3.Text = ; ,protected void Button1_Click(object sender, EventArgs e) Label3.Text = 学生 + DropDownList1.Text + 属于 + DropDownList2.SelectedValue + 班; ,运行界面,18.3.4CheckBox、CheckBoxList、RadioButton和RadioButtonList控件,CheckBox(复选框)和CheckBoxList(复选框组)服务器控件为用户提供了一种在真/假、是/否或开/关选项之间切换的方法。前者包含一个复选框,后者是由一组复选

16、框组成。 RadioButton(单选按钮)和RadioButtonList(单选按钮组)服务器控件允许用户从一个预定义的选项中选择一项。,设置RadioButtonList控件的项,设置CheckButtonList控件的项,【例18.3】 设计一个Web窗体,用户可以选择学生相关信息并提交。,WebForm3 事件过程:,protected void Button1_Click(object sender, EventArgs e) string result=; /判断性别 if (RadioButton1.Checked) result += 性别:女; /为屏幕换行 else result += 性别:男; /判断年龄 if (RadioButtonList1.SelectedItem != null) result += 年龄: + RadioButtonList

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号