应用程序asp.net

asp.net  时间:2021-04-18  阅读:()

项目1创建ASP.
NETWeb应用程序ASP.
NET技术是目前基于Web应用程序开发中最流行和最前沿的技术.
在本项目中,将采用C#语言作为ASP.
NETWeb应用程序开发语言,以MicrosoftVisualStudio2008为开发工具,通过具体的项目使读者对ASP.
NET有一个初步的认识.
本项目通过完成2个任务,掌握VisualStudio2008窗口的基本操作方法,了解ASP.
NETWeb应用程序的一般开发过程.
任务1安装VisualStudio2008集成开发环境任务2创建第一个ASP.
NETWeb应用程序任务1安装VisualStudio2008集成开发环境任务场景工欲善其事,必先利其器.
一个好的开发环境可以使开发工作事半功倍,而使用.
NET框架进行应用程序开发的最好工具莫过于VisualStudio.
VisualStudio系列产品被认为是当前最好的开发环境之一.
创建ASP.
NET3.
5应用程序的关键工具是VisualStudio2008.
VisualStudio2008集成开发环境为ASP.
NET应用程序提供了一个操作简单且界面友好的可视化开发环境,在该环境下可使用ASP.
NET控件高效地进行应用程序开发,简化了Web开发工作流程,极大地提高了开发工作的效率.

知识引入1.
1认识ASP.
NETASP.
NET是Microsoft公司推出的新一代Web应用开发模型,是目前最流行的一种建立动态Web应用程序的技术.
它通常被描述成一门技术而不是一种语言,因为它可以使用任何与.
NET平台兼容的语言(包括VB.
NET、C#和JScript.
NET)来创建应用程序.

ASP.
NET是基于Microsoft.
NET平台的,它作为.
NETFramework的一部分提供给用户.
只有对.
NETFramework体系结构有一定的了解,才能更深入地理解ASP.
NET是什么.
1.
1.
1了解.
NETFramework3.
5体系结构.
NETFramework通常称为.
NET框架,它代表一个集合、一个环境、一个可以作为平台支持下一代Internet的可编程结构.
通俗地说,.
NETFramework的目的是为应用程序开发提供一个更简单、快速、高效和安全的平台.

.
NETFramework最初推出的是1.
0版本,经过1.
1、2.
0、3.
0和3.
5版本的升级,现在已经到了4.
0版本.
由于当前.
NETFramework框架的内容越来越丰富和庞大,为便于理解,在此暂不做过多深入的挖掘.
.
NETFramework框架的结构如图1-1所示.
如图1-1所示,在VisualStudio.
NET操作系统平台上可以运行多种语言,如VB.
NET、C#、VC++.
NET等.
CLS,即公共语言规范,它是使用不同开发语言所共同遵守的一套编程规则.
当这些语言运行在一个平台上,如果想相互调用,就必须借助于.
NETFramework.
在Microsoft.
NET平台上,所有的语言都是等价的,它们都是基于公共语言运行时(CLR)的运行环境中编译运行.
用这些语言编写的代码都被编译成中间代码,在CLR中运行.
在技术上,这些语言之间没有很大的区别,用户可以根据自己熟悉的编程语言进行操作.

.
NETFramework有两个主要的组件,即上面提到的公共语言运行时(CLR)以及.
NETFramework类库.
公共语言运行时(CLR)架构在操作系统的服务上,是.
NETFramework的基础.
它同时提供了多语言执行环境,负责应用程序的执行,满足所有针对Microsoft.
NET平台的应用程序的需求,如内存管理、处理安全问题以及整合不同的程序语言,并保证应用和底层操作系统之间必要的分离从而实现跨平台性.
正因为它提供了许多核心服务,才使得应用程序的开发过程得以简化.

开发者面对的是架构在CLR上面的基类库,它包含了.
NET应用程序开发中所需要的类和方法,可以被任何程序语言所使用.
这样一来,开发者不需要再学习多种对象模型或是对象类别库,就可以做到跨语言的对象继承、错误处理以及除错,开发者可以自由地选择他们所偏好使用的程序语言.
无论是基于Windows的应用程序、基于Web的ASP.
NET应用程序还是移动应用程序,都可以使用现有的.
NETFramework中的类和方法进行开发.
位于框架最上方的是ASP.
NET与WindowsForms两个不同的应用程序开发方式,是应用程序开发人员开发的主要对象.
也就是通常所说的Web应用程序开发和Windows应用程序开发.
以上叙述的是.
NETFramework各版本之间的相同之处,即主要框架结构.
主要框架结构从其最初的1.
0版本到现在的4.
0版本,基本上没什么大的变化,只是内容上有所增加.
本书中所使用的.
NETFramework3.
5,是在以前版本的基础上逐步完善而成的,所以保持着向下兼容的功能,即用低版本开发的程序仍然可以在.
NETFramework3.
5运行环境中执行.
.
NETFramework3.
5版本针对ASP.
NET中的特定方面提供了增强功能.
其中最重要的改进在于,可以支持AJAX网站的开发,可以支持语言集成查询(LINQ).
这些改进包括提供了新的服务器控件和类型、新的面向对象的客户端类型库,另外VisualStudio2008还提供完全的IntelliSense支持,可用于ECMAScript(JavaScript或JScript).
微软最新推出的Vista和Windows7操作系统也全面集成了.
NETFramework框架,它已经作为微软新操作系统不可或缺的一部分,并已经形成成熟的.
NET平台,在该平台上用户可以开发各种各样的应用,尤其是对网络应用程序的开发,这也是微软推出.
NET平台的最主要目的之一.

1.
1.
2什么是ASP.
NETASP(ActiveServerPages,活动服务器页面)是一个比较简单的编程环境,在其中可以混合使用HTML、脚本语言以及少量组件来创建服务器端的Internet应用程序.
ASP.
NET并不是ASP基础上的简单升级,而是全新一代的动态网页开发技术,因此一经推出就备受关注.
ASP.
NET经过几年的改进和优化,越来越趋于成熟和稳定.
ASP.
NET3.
5是基于.
NETFramework3.
5的.
ASP.
NET是一种包含在.
NETFramework中的Web开发技术,它包括使用尽可能少的代码生成企业级Web应用程序所必需的各种服务.
当开发人员在编写ASP.
NET应用程序的代码时,可以访问.
NETFramework中的类,并可以使用与公共语言运行库(CLR)兼容的任何语言来编写应用程序代码,这些语言包括VB.
NET、C#、JScript.
NET和J#.
使用这些语言,可以开发利用公共语言运行库、类型安全、继承等方面的ASP.
NET应用程序.
ASP.
NET程序开发还有微软公司的VisualStudio.
NET集成开发环境的支持,通过使用各种控件提供的强大的可视化开发功能,使得开发Web应用程序变得非常简单、高效.
ASP.
NET最常用的开发语言还是VB.
NET和C#.
C#相对比较常用,因为它是.
NET独有的语言,VB.
NET适合于以前的VB程序员.
如果读者是新接触.
NET,没有其他开发语言经验,建议直接学习C#,它对于初学者来说入门比较容易,而且功能强大.
因此,本书所有的应用开发都是基于C#进行编程.
1.
2VisualStudio2008在传统的ASP开发中,可以使用Dreamweaver、FrontPage等工具进行页面开发,但是其开发效率不高.
相比之下,对于ASP.
NET应用程序而言,微软开发的VisualStudio是编写.
NET程序的最佳开发工具.
熟悉VisualStudio集成开发环境,是利用该环境实现ASP.
NET应用程序开发的前提.
VisualStudio是一套完整的开发工具集,用于生成ASP.
NETWeb应用程序、XMLWebServices、桌面应用程序和移动应用程序.
VB.
NET、VisualC++和VisualC#等开发语言,全都使用相同的集成开发环境(IDE),利用IDE可以共享工具且有助于创建混合语言的解决方案.
另外,这些语言利用了.
NETFramework的功能,简化了Web应用程序和XMLWeb服务开发的关键技术.
随着.
NET的诞生,VisualStudio也随之同步完善.
.
NETFramework的各个版本都有相应的开发工具,.
NETFramework1.
0对应VisualStudio2002,.
NETFramework1.
1对应VisualStudio2003,.
NETFramework2.
0对应VisualStudio2005,.
NETFramework3.
5对应VisualStudio2008.
最近,VisualStudio2010和.
NETFramework4.
0正式版已经发布.
本书中使用的是VisualStudio2008.
1.
2.
1VisualStudio2008的特性本节主要介绍VisualStudio2008中与ASP.
NET应用程序有关的特性.
1.
集成的Web服务器开发部署ASP.
NETWeb应用时,需要提供Web服务器软件,如Internet信息服务(IIS).
为了有效支持ASP.
NETWeb应用程序开发,VisualStudio2008内部集成的本地Web服务器ASP.
NETDevelopmentServer,在没有安装IIS的情况下也能够快速地调试和执行ASP.
NET应用.
图1-2所示为集成的Web服务器的界面.
图1-2所示中出现的"32875"只是运行时随机分配的一个端口号.
VisualStudio2008内嵌的集成Web服务器是一种默认的选择,如果从现有的IIS虚拟目录中打开项目,VisualStudio2008仍会使用IIS运行和测试该应用程序.
嵌入的Web服务器只是一小段可执行的代码,并不能取代真正的Web服务器的所有功能,这种内嵌的Web服务器只能用于应用开发测试使用,如果需要其他用户能够访问所创建的ASP.
NET应用,就需要将其部署到IIS上.

2.
项目设计器多目标支持多目标支持特性让开发人员可以在VisualStudio2008中选择开发多个版本的.
NETFramework应用程序,比如.
NETFramework2.
0、.
NETFramework3.
0或者是.
NETFramework3.
5,这意味着开发人员可以在任何时候选择系统支持的高版本或低版本的目标平台,如图1-3所示.
VisualStudio2005的项目可以平稳地升到VisualStudio2008上.
在VisualStudio2008下做VisualStudio2005的项目,用的编译器和类库与VisualStudio2005相同,但是VisualStudio2008却提供了更好的开发环境.
3.
多种访问站点的方式VisualStudio2008支持多种打开Web站点的方式,如图1-4所示.
其中包括:通过FrontPage服务器扩展连接远程站点;通过FTP或直接使用文件系统路径来访问源码文件;通过直接访问本地安装的IIS访问虚拟目录;通过文件系统路径打开网站.
在使用文件系统路径打开网站时,将使用本地集成Web服务器来测试Web站点.

图1-3为VisualStudio2008的项目选择一个目标平台图1-4访问Web站点的多种方式4.
适用于JScript和ASP.
NETAJAX的代码智能提示VisualStudio2008在代码智能提示方面有了很大的改进,现在支持JScript创作和ASP.
NETAJAX脚本撰写.
用标记的脚本,包括在网页中的客户端脚本,现在都具有代码智能提示的优点,.
js脚本文件也是如此.
此外,代码智能提示还能显示XML代码注释.
XML代码注释用于描述客户端脚本的摘要、参数和返回的详细信息.
ASP.
NETAJAX还使用XML代码注释提供ASP.
NETAJAX类型和成员的代码智能提示功能.
使用XML代码注释的外部脚本文件引用也支持代码智能提示.
5.
AJAX开发通过使用VisualStudio2008开发平台,可以在页面中轻松地进行部分页面的异步更新,这样可以避免整页回发所产生的系统开销.
只需将现有的控件或标记放在UpdatePanel控件内,UpdatePanel控件内部的回发将变为异步回发,并且只刷新UpdatePanel面板内的页面,从而使用户体验更加顺畅.

6.
新设计视图和CSS设计工具VisualStudio2008现在可以让用户体验到新工具中丰富的CSS编辑功能,从而可以更加轻松地使用级联样式表(CSS).
通过使用"CSS属性"网格、"应用样式"和"管理样式"窗格以及"直接样式应用"工具,可以在"设计"视图中完成布局设计和内容样式设置的大部分工作.
也可以使用WYSIWYG可视布局工具在"设计"视图中更改定位、填充和边距.

VisualStudio2008在"设计"视图和"源"视图结合的基础上,增加了类似Dreamweaver中的拆分视图,以方便页面设计,如图1-5所示.
图1-5拆分视图7.
嵌套的母版页支持在VisualStudio2005中,当需要在母版页中再嵌套母版页时,将不能获得IDE的设计支持.
VisualStudio2008弥补了这个不足,从而使设计人员可以在设计时嵌套多级母版页.
8.
语言集成查询(LINQ)语言集成查询(LINQ)是VisualStudio2008中的一组新功能,它可以将强大的查询功能扩展到C#和VisualBasic的语法中.
LINQ引入了标准的、易于学习的查询和转换数据模式,并且可以进行扩展以支持任何类型的数据源.
VisualStudio2008包括LINQ提供程序的程序集,借助这些程序集,可以启用.
NETFramework集合(LINQtoObjects)、SQL数据库(LINQtoSQL)、ADO.
NET数据集(LINQtoADO.
NET)以及XML文档(LINQtoXML)的语言集成查询功能.
1.
2.
2安装VisualStudio2008的系统要求VisualStudio2008需要安装在Windows操作系统中,并且对系统的硬件性能及兼容性有一定的要求.
具体如下:支持的操作系统:MicrosoftWindowsXP、MicrosoftWindowsServer2003、MicrosoftWindowsServer2008、WindowsVista和Windows7.
处理器:1GHz处理器.
建议为2GHz处理器或双核处理器.
内存:1GB,建议为2GB.
硬盘空间:完全安装需要1.
3GB的可用磁盘空间,建议有5GB以上的可用磁盘空间或更高.
显示器:1024*768屏幕分辨率,建议使用1280*1024屏幕分辨率.
任务实施VisualStudio2008集成开发环境的安装步骤如下:步骤1.
获取安装文件.
登录微软的官方网站,下载VisualStudio2008团队开发版或专业版的安装程序.
下载后的安装文件是ISO镜像文件.
微软官方软件的下载地址为:http://www.
microsoft.
com/downloads/en/default.
aspx.

步骤2.
将安装程序ISO镜像文件加载到虚拟光驱,操作系统会自动运行安装应用程序Setup.
exe(也可手动双击该安装应用程序),弹出"VisualStudio2008安装程序"对话框,如图1-6所示.
单击图中"安装VisualStudio2008"选项进入安装.
步骤3.
VisualStudio2008安装程序首先会加载安装组件,如图1-7所示.
这些组件为VisualStudio2008的顺利安装提供了基础保障,安装程序在正确完成组件的加载前用户不能对安装步骤进行选择.
步骤4.
安装组件加载完毕后,单击"下一步"按钮,弹出"协议与安装密钥"对话框,选中"我已阅读并接受许可条款"单选按钮,如图1-8所示.
步骤5.
在接受协议、确定"产品密钥"和"名称"信息后,单击"下一步"按钮,选择安装方式,如图1-9所示.
一般选择"默认安装"方式,也可以通过"自定义"的安装方式定制需要的组件,同时确定"产品安装路径".

步骤6.
单击"安装"按钮,安装程序执行安装过程,其进度如图1-10所示.
步骤7.
当安装完成之后,弹出如图1-11所示的对话框,表示安装成功.
图1-7加载安装组件图1-8确认许可协议和产品密钥图1-9选择安装功能和安装目录图1-10安装进度显示图1-11安装成功界面步骤8.
至此,VisualStudio2008已经安装完成了.
可以选择安装MSDN(见图1-12),也可以选择退出,关闭对话框,结束安装.
如果想得到更多的关于VisualStudio2008的帮助,建议单击"安装产品文档"超链接以继续安装.
安装步骤类似,在此不再赘述.
步骤9.
安装结束后,选择"开始"→"程序"→"MicrosoftVisualStudio2008"命令,如图1-13所示,就可以启动VisualStudio2008.
步骤10.
首次运行MicrosoftVisualStudio2008集成开发环境时,需选择默认环境设置,这里选择"Web开发设置"选项,如图1-14所示.
开发人员也可以通过VisualStudio2008中的"工具"→"导入和导出设置"命令来更改默认的环境设置.
图1-12选择安装MSDN或退出图1-13启动MicrosoftVisualStudio2008图1-14选择默认环境设置任务2创建第一个ASP.
NETWeb应用程序任务场景VisualStudio2008是开发.
NET网站应用的最佳工具,它可以帮助软件开发团队更好地交流和协作.
借助于VisualStudio2008,可以在整个开发过程中及早并经常获得更好的可预测性,提高产品质量.
本任务将介绍VisualStudio2008的Web开发功能,引导用户完成创建Web应用程序的过程,熟悉WYSIWYG(WhatYouSeeIsWhatYouGet,所见即所得)可视化设计器.
知识引入1.
3熟悉VisualStudio2008集成开发环境1.
3.
1VisualStudio2008主界面VisualStudio产品系列共用一个集成开发环境(IDE),此环境由菜单工具栏、标准工具栏以及停靠或自动隐藏在左侧、右侧、底部和编辑器空间中的各种工具窗口等若干元素组成.
可用的工具窗口、菜单和工具栏取决于所处理的项目或文件类型.
图1-15是VisualStudio2008应用"Web开发"环境设置后,启动显示的起始页界面.
图1-15VisualStudio2008起始页关闭起始页后,若要重新显示起始页,可以选择"视图"→"其他窗口"→"起始页"命令来打开它.
从起始页可以快速打开最近编辑过的项目和网站或创建新的项目和网站,并且可以查找联机资源以及配置VisualStudio2008.
VisualStudio2008提供了进行Web开发的相应环境和工具.
图1-16显示了创建ASP.
NETWeb应用程序时VisualStudio2008主界面中包含的常用窗口和工具.
图1-16包含常用窗口和工具的主界面根据所应用的设置以及随后执行的任何自定义,主界面工具窗口及其他元素的布置会有所不同.
选择"工具"→"导入和导出设置向导"命令可以更改这些设置;也可以使用可视的菱形引导标记轻松地移动和停靠窗口,或使用自动隐藏功能临时隐藏窗口,如图1-17所示.

以下描述了最常用的窗口和工具,请结合图1-16来阅读和学习以下内容.
工具栏:提供格式化文本、查找文本等命令.
一些工具栏只有在"设计"视图下才可用.
在"视图"→"工具栏"菜单项的子菜单中列出了所有可用的工具栏.
解决方案资源管理器:用于显示和管理Web应用程序中的文件和文件夹.
文档窗口:显示当前正在选项卡窗口中处理的文档.
单击视图选项卡可以实现文档间切换.
视图选项卡:用于提供同一文档的不同视图.
"设计"视图是一种近似WYSIWYG的编辑界面.
"源"视图是显示标记的页面编辑器.
"拆分"视图可同时显示文档的"设计"视图和"源"视图.

属性窗口:用于更改页面、HTML元素、控件和其他对象的设置.
当在文档窗口中选择对象时,"属性"窗口将显示所选对象的属性.
工具箱:提供可以拖到页面上的控件和HTML元素.
"工具箱"元素按常用功能分组.
服务器资源管理器:用于显示数据库链接.
图1-17窗口的移动与停靠1.
3.
2配置集成开发环境为了方便开发,开发人员通常会定义配置属于自己的集成开发环境.
这个工作可以通过选择"工具"→"选项"命令,然后在打开的"选项"对话框中进行设置.
当启动VisualStudio2008后,在菜单栏中选择"工具"→"选项"命令,弹出"选项"对话框,如图1-18所示.
选中图中左下角的"显示所有设置"复选框,可以看到配置"环境"、"项目和解决方案"和"源代码管理"等多个选项.

"选项"对话框使用户可以根据自己的需要配置集成开发环境(IDE).
例如,可以建立项目的默认保存位置,改变窗口的默认外观和行为,以及创建常用命令的快捷方式.
对话框中还包含一些用于设置用户的开发语言和开发平台的选项.

图1-18"选项"对话框1.
4网站类型通过VisualStudio2008可以创建和使用具有下列几种配置类型的ASP.
NET网站(也称Web应用程序):本地IIS站点、文件系统站点、文件传输协议(FTP)部署的站点和远程IIS站点.
1.
本地IIS网站本地IIS(Internet信息服务)网站就是本地计算机上的一个IISWeb应用程序.
使用该类型站点的优点是,可以允许其他计算机访问此类网站,并可以使用基于HTTP的身份验证、应用程序池和ISAPI筛选器等IIS功能进行测试此类网站;在本地IIS网站中路径将按照其在正式服务器上的方式进行解析,从而逼真地模拟站点在正式服务器中的情况.

使用该类型的网站必须具备如下条件:必须装有Internet信息服务.
必须具有管理员权限才能创建或调试IIS站点.
一次只可以有一个计算机用户调试IIS站点.
默认情况下,为本地IIS站点启用远程访问功能.
2.
文件系统站点VisualStudio2008能够实现将站点文件存储在本地硬盘上的一个文件夹中,或存储在局域网上的一个共享位置.
使用该类型的站点具有以下特点:不希望或无法在自己的计算机上安装IIS.
文件夹中已有一组Web文件,希望将这些文件作为项目打开.
文件存储在中心服务器上某一特定的文件夹中.
在工作组设置中,工作组成员可访问中心服务器上的公共站点.
使用该类型的站点的缺点是:不能使用基于HTTP的身份验证、应用程序池和ISAPI筛选器等IIS功能测试文件系统站点.
3.
FTP部署的网站当某一站点已位于配置为FTP服务器的远程计算机上时,可使用FTP部署的网站.
例如,Internet服务提供商(ISP)已在服务器提供了一定的空间.
使用该类型的站点可以在部署FTP网站的服务器上测试该网站.
其缺点是:该类型站点没有FTP部署的网站文件的本地副本,除非自己复制这些文件;另一方面,它不能创建FTP部署的网站,只能打开一个这样的网站.

4.
远程IIS站点当要通过远程计算机上运行的IIS来创建站点时,可使用远程站点.
远程计算机必须配置FrontPage服务器进行扩展且在站点级别上启用它.
使用该类型站点的优点如下:可以在部署站点的服务器上测试该站点.
多个开发人员可以同时使用同一远程站点.
使用该类型站点的缺点如下:针对远程站点调试的配置可能很复杂.
一次只可以有一个开发人员调试远程站点,当开发人员单步调试代码时,所有其他请求均被挂起.
1.
5ASP.
NET网站结构1.
5.
1ASP.
NET站点布局为了易于使用Web应用程序,ASP.
NET保留了一些可用于特定类型内容的文件和文件名称.
在解决方案资源管理器中,右击所创建的网站,在弹出的快捷菜单中选择"添加ASP.
NET文件夹"命令,可以根据网站需要添加特定类型内容的文件和文件夹,如图1-19所示.

1.
默认页默认页是指当用户定位到某一站点时,在其没有指定打开特定页的情况下为用户显示的页面.
开发时可以为自己的应用程序建立默认页,这将使用户更容易定位到自己的站点.
当创建ASP.
NETWeb应用程序时,VisualStudio2008集成开发环境会默认创建一个名为Default.
aspx的页,并将其保存在应用程序的根目录中.
2.
应用程序文件夹ASP.
NET识别可用于特定类型内容的某些文件夹名称.
下面列出了保留的文件夹名称以及文件夹中通常包含的文件类型.
App_Browsers:包含ASP.
NET用于标识个别浏览器并确定其功能的浏览器定义(.
browser)文件.
App_Code:包含作为应用程序进行编译的实用工具类和业务对象的源代码文件.
App_Data:包含应用程序数据文件,包括MDF文件、XML文件和其他数据存储文件.
App_GlobalResources:包含编译到具有全局范围的程序集中的资源(.
resx和.
resources文件).
App_LocalResources:包含与应用程序中的特定页、用户控件或母版页关联的资源(.
resx和.
resources文件).
App_Themes:包含用于定义ASP.
NET网页和控件外观的文件集合(.
skin文件、.
css文件、图像文件和一般资源).
App_WebReferences:包含用于定义在应用程序中使用的Web引用的引用协定文件(.
wsdl文件)、架构(.
xsd文件)和发现文档文件(.
disco和.
discomap文件).

Bin:包含要在应用程序中引用的控件、组件或其他代码的已编译程序集(.
dll文件).
1.
5.
2网站文件类型Web应用程序中可以包含很多文件类型,某些文件类型由ASP.
NET支持和管理,如.
aspx、.
ascx等;其他文件类型则由IIS服务器支持和管理,如.
html、.
gif等.
表1-1列出了部分ASP.
NET中常用的文件类型及存储位置和说明.

表1-1由ASP.
NET管理的主要文件类型文件类型存储位置说明.
aspx应用程序根目录或子目录ASP.
NETWeb窗体文件(页),该文件可包含Web控件及显示和业务逻辑.
asax应用程序根目录通常是Global.
asax文件,包含从HttpApplication类派生的代码.
该文件表示应用程序,并且包含应用程序生存期开始或结束时运行的可选方法.
ascx应用程序根目录或子目录Web用户控件文件,用于定义可重复使用的自定义控件.
asmx应用程序根目录或子目录XMLWebservices文件,包含通过SOAP方式可用于其他Web应用程序的类和方法.
axd应用程序根目录处理程序文件,用于管理网站管理请求,通常为Trace.
axd.
browserApp_Browsers子目录浏览器定义文件,用于标识客户端浏览器的功能.
compileBin子目录预编译的stub文件,指向已编译的网站文件的程序集.
可执行文件类型(.
aspx、ascx、.
master、主题文件)已经过预编译并放在Bin子目录下.
config应用程序根目录或子目录配置文件(通常是Web.
config),包含表示ASP.
NET功能设置的XML元素续表文件类型存储位置说明.
cs、.
jslApp_Code子目录;但如果是ASP.
NET页的代码隐藏类文件,则与网页位于同一目录运行时要编译的类源代码文件.
类可以是HTTP模块、HTTP处理程序、ASP.
NET页的代码隐藏文件或包含应用程序逻辑的独立类文件.
csprojVisualStudio项目目录VisualStudio客户端应用程序项目的项目文件.
dllBin子目录已编译的类库文件(程序集).
请注意,不要将已编译的程序集放在Bin子目录中,但可以将类的源代码放在App_Code子目录中.
master应用程序根目录或子目录母版页,定义应用程序中其他网页的布局.
mdfApp_Data子目录SQL数据库文件,用于SQLServerExpress.
resources、.
resxApp_GlobalResources或App_LocalResources子目录资源文件,包含指向图像、可本地化文本或其他数据的资源字符串.
sitemap应用程序根目录站点地图文件,包含网站的结构.
ASP.
NET中附带了一个默认的站点地图提供程序,它使用站点地图文件可以很方便地在网页上显示导航控件.
skinApp_Themes子目录外观文件,包含应用于Web控件以使格式设置一致的属性设置1.
6事件驱动编程1.
6.
1事件驱动编程传统程序一般是按照从上至下的顺序执行的,即便使用的是函数,也不会改变程序的执行顺序.
ASP页面也是按照从上到下的顺序处理,其ASP代码和静态的HTML的每一行都按其在文件中的显示顺序进行处理,在往返过程中通过用户操作将页面请求发送到服务器.
然而,事件驱动编程的模式却改变了传统的编程模式.

1.
事件驱动编程事件是按照一个对象发送消息通知另一个对象操作的机制来执行的,它可以用于对象间的同步和信息传递.
Windows操作系统是由事件驱动的,它不以顺序方式执行.
Windows启动后,就等待事件的发生,例如当用户单击"开始"按钮,就触发了"开始"按钮的单击事件.
只要发生了事件,Windows就会执行相应的动作处理该事件.
如果单击了某一程序的菜单,菜单会立即显示出来,然后等待用户的下一个操作指令.
Windows是许多代码组的集合,每个代码组都是在事件调用时执行.

在ASP.
NET中,页面显示在浏览器上,等待用户交互.
当用户单击按钮时就发生一个事件.
程序会执行相应代码,来响应事件.
在代码执行结束时,页面返回,继续等待下一个事件.
事件驱动编程使ASP.
NET编程更接近于Windows编程.
开发者只需要编写响应事件的代码即可,并且可以将事件驱动编程的知识从Windows桌面应用程序扩展到Web应用程序上.
除此之外,事件驱动编程还可以使处理数据的代码与页面显示代码分离.
ASP.
NET允许开发者使用代码分离机制将Web应用程序逻辑(通常用C#和VB.
NET开发)从表示层(通常是HTML格式)中分离出来.
通过逻辑层和表示层的分离,ASP.
NET允许多个页面使用相同的代码,从而使维护更容易.
开发者不需要为了修改一个编程逻辑问题而去浏览HTML代码,Web设计者也不必为了修正一个页面错误而通读所有代码.

ASP.
NET的事件可以分为以下3类.
HTML事件:这些事件可以在页面上发生,并由浏览器在客户端处理,如在客户端JavaScript中运行的弹出工具提示或菜单扩展.
自动触发事件:ASP.
NET页面生成时,会自动触发一些事件,它们不需要干涉,在用户看到页面之前执行,使用这些事件可以初始化页面.
用户交互事件:用户与页面交互时触发的事件,这些事件直接与ASP.
NET的Web控件相关,如Button控件的Click事件.
2.
事件处理ASP.
NET的事件处理采用委托机制,如按钮的Click事件,编程时在设计界面上双击按钮,程序会自动添加事件的响应方法,代码如下所示.
protectedvoidButton1_Click(objectsender,EventArgse){//事件处理代码}一般情况下,事件的响应方法中包含两个参数.
其中一个参数代表引发事件的对象sender,由于引发事件的对象是不可预知的,因此将其声明成为Object类型(Object是所有对象的基类),适用于所有对象.
另一参数代表引发事件的具体信息,这在各种类型的事件中可能不同,因此采用了EventArgs类型(EventArgs是事件数据的类的基类),用于传递事件的细节.

在编写程序时,如果使用方法,只需调用方法名称并传递相关参数.
然而,事件的响应方法是怎样被关联的呢先来看一下下面的代码.
Button1.
Click+=newSystem.
EventHandler(Button1_Click);这是Button1_Click文件响应方法和Click文件相关联的代码,这里EventHandler就是一个委托声明,Button1_Click方法将被自动识别,并被关联到Button1按钮的单击事件上.

1.
6.
2Web窗体与Page类随着Web应用的不断发展,微软在.
NET战略中,提出了全新的Web应用开发技术ASP.
NET,并引入了Web窗体的概念.
窗体界面元素被称为Web控件,像Windows窗体编程一样,可将Web控件拖放至窗体中进行可视化设计,大大提高了Web开发效率.

1.
Web窗体Web窗体提供了一种直观方便的编程模型,它不仅可用于快速创建复杂的Web应用程序界面,而且可以实现功能复杂的业务逻辑和数据库访问.
Web窗体是ASP.
NET网页的主容器,它的页框架可以在服务器上动态生成Web页的可缩放公共语言运行库的编程模型.
Web窗体包含两种不同代码块的组合:含有页面布局和ASP.
NET控件模板信息的HTML代码.
它负责在浏览器上显示Web窗体,其扩展名为".
aspx".
对Web窗体进行逻辑处理的ASP.
NET代码.
它负责生成在Web窗体上显示的动态内容,其扩展名为".
aspx.
cs".
上述两种代码块就是ASP.
NET代码分离编程模式下的界面文件和相应的代码文件.
1)Web窗体的主要特点Web窗体主要有以下一些特点:基于MicrosoftASP.
NET技术,在服务器上运行的代码动态生成界面并发送到浏览器或客户端设备输出.
兼容所有浏览器或移动设备.
ASP.
NET界面自动为样式、布局等功能呈现正确的、符合浏览器的HTML.
此外,还可将ASP.
NET界面设计为在特定浏览器上运行并利用浏览器特定的功能.
Web窗体可以输出任何支持客户端浏览的语言,包括HTML、XML和Script等.
兼容.
NET公共语言运行时(CLR)所支持的任何语言,包括C#、VB.
NET和Jscript.
NET等.
基于Microsoft.
NETFramework生成.
具有.
NETFramework的所有优点,包括托管环境、类型安全性和继承.
具有灵活性,可以添加用户创建的控件和第三方控件.
2)ASP.
NET界面语法ASP.
NET界面文件的扩展名为.
aspx,该类文件的语法结构主要由指令、Head、窗体元素、Web服务器控件或HTML控件、客户端脚本和服务器端脚本组成.
(1)指令窗体文件通常包含一些指令,这些指令允许为该页指定属性和配置信息,但不会作为发送到浏览器的标记的一部分被呈现.
常见指令有以下几类:①@Page:页面指令,此指令最常用,允许为页面指定多个配置选项,常在Web窗体界面文件中的第一行使用.
它定义了ASP.
NET页分析器和编译器使用的页面特定属性,只能包含在.
aspx文件中,如:各属性的含义如表1-2所示.
表1-2@Page指令的主要属性属性含义Language指定编程使用的语言.
其值可为任何.
NET支持的语言,包括C#、VB.
NET、Jscript.
NET续表属性含义AutoEventWireup决定是否自动装载Page_Init和Page_Load方法,该属性默认值为trueCodeFile指定与界面文件关联的后台隐藏代码类文件的名称.
该属性不能被ASP.
NET运行库所使用Inherits定义供页继承的代码隐藏类.
可以从Page类派生的任何类②@Control:此指令允许指定ASP.
NET用户控件.
③@Register:此指令允许注册其他控件以便在页面上使用.
@Register指令声明控件的标记前缀和控件程序集的位置.
如果要向页面添加用户控件或自定义ASP.
NET控件,则必须使用此指令.

④@Master:此指令使用于特定的母版页.
⑤@OutputCache:此指令允许指定应缓存的页面,并指定何时缓存该页以及缓存该页需要多长时间等参数.
(2)HeadHead中的内容不会被显示(除标题外),但这些信息对于浏览器却可能非常有用,如使用的HTML版本、脚本和样式表等内容.
(3)Form(窗体)元素如果页面包含允许用户与页面交互并提交该页面的控件,必须包含有一个form元素,使用form元素必须遵循以下规则:①页面只能包含一个form元素.
②form元素必须包含runat属性.
其属性值设置为server时,允许在服务器代码中以编程方式引用页面上的窗体和控件.
③可执行回发的服务器控件必须位于form元素之内.
下面是一个典型的标记:.
.
.
(4)Web服务器控件在ASP.
NET页中,通常会添加一些允许用户与页面交互的控件,包括按钮、文本框和列表等.
下面是Web服务器控件使用的示例:(5)将HTML控件作为服务器控件将普通的HTML控件作为服务器控件使用,可以将runat="server"属性和ID属性添加到页面的任何HTML元素中.
下面是HTML元素转换为服务器控件示例:(6)客户端代码客户端代码是在浏览器中执行的,因此执行客户端代码不需要回发Web窗体.
客户端代码语言支持JavaScript、VBScript、Jscript和ECMAScript.
下面是客户端代码示例:functionButton1_onClick(){.
.
.
}(7)服务器端代码服务器端代码是在服务器端执行的,页面代码位于Script元素中,该元素中的开始标记包含runat="server"属性.
下面是服务器端代码示例:privatevoidButton1_Click(objectsender,System.
EventArgse){.
.
.
}3)Web窗体的生命周期一个Web窗体的生命周期类似于在服务器中运行的Web进程的生命周期.
Web窗体从实例化分配内存空间到处理结束释放内存,一般要经历以下4个步骤:页面初始化:页面生命周期中的第一个阶段是初始化,其标志是Page_Init事件.
当Init事件发生时,.
aspx文件中声明的控件被实例化,并采用各自默认值.
页面装载:页面装载是在初始化之后进行,所发生的事件为Page_Load,这需要根据Page.
IsPostBack属性检查页面是不是第一次被处理;第一次处理页面时执行数据绑定,或者在以后的循环过程中重新判断数据绑定表达式;读取或更新控件属性;恢复所保存的前一个客户请求的状态.

事件处理:Web窗体上的每个动作都激活一个到达服务器的事件.
一个Web窗体有两个视图:一个客户视图和一个服务器视图.
所有的数据处理都在服务器上进行.
当通过单击鼠标或其他方法触发一个事件时,事件就到达服务器并返回相应的数据.

资源清理:发生在一个窗体完成了任务并准备卸载的时候,激活Page_Unload事件,完成最后的资源清理.
如关闭文件、关闭数据库连接、释放对象等.
2.
Page类Page类与扩展名为.
aspx的文件相关联,用作Web应用程序中用户界面的控件.
这些文件在运行时被编译为Page对象,并被缓存在服务器的内存中.
Page类有很多属性,在编程实践中,经常用到的Page对象的属性主要有IsPostBack和IsValid.

(1)IsPostBack属性获取一个布尔值,该值指示该页是否为首次加载.
如果IsPostBack的值为true,则表示当前页面是由于客户端返回数据而加载的.
下面通过示例来说明IsPostBack属性的作用.
新建一个Web窗体,添加一个按钮,并在Page_Load事件响应方法中添加如下代码,然后查看页面首次加载和单击按钮时的运行效果.
privatevoidPage_Load(objectsender,System.
EventArgse){if(!
IsPostBack){Response.
Write("首次加载");}else{Response.
Write("页面回送");}}(2)IsValid属性获取一个布尔值,该值指示页面验证是否成功.
在实际应用中,往往会验证页面提交的数据是否符合预期设定的格式要求等,如果符合则IsValid值为true,否则为false.
privatevoidButton1_Click(objectsender,System.
EventArgse){if(IsValid){Response.
Write("页面验证通过");}}任务实施使用VisualStudio2008创建一个简单的ASP.
NET应用程序,步骤如下:步骤1.
启动VisualStudio2008.
选择"开始"→"程序"→"MicrosoftVisualStudio2008"命令启动VisualStudio2008.
步骤2.
创建ASP.
NET网站.
选择"文件"→"新建网站"命令,在弹出的"新建网站"对话框中,选择"ASP.
NET网站"模板,然后选择版本为.
NETFramework3.
5,在"位置"下拉列表中选择"文件系统"选项,在其后的输入框中确定网站存储的位置,"语言"选择"VisualC#",具体设置如图1-20所示.
单击"确定"按钮,即可在VisualStudio2008中新建一个名为FirstWebSite的网站.
创建完成后系统会创建该文件夹,并在其中创建默认页面default.
aspx、对应的后台代码页面default.
aspx.
cs以及应用程序配置文件Web.
config等文件和文件夹.

注意:此时界面一般显示三部分,左边为工具箱,中间为代码区域,右边则是解决方案资源管理器和属性窗口.
如果缺少窗口显示,可以通过"视图"菜单找到并打开.
在解决方案资源管理器中双击对应的页面可以编辑该页.
其中Web.
config文件非常重要,是网站的配置文件,负责网站的属性、性能和管理等设置,一般情况下不要随意修改.

图1-20新建FirstWebSite网站步骤3.
设计Default.
aspx页面.
在"视图选项卡"中,选择"拆分视图"选项,将光标定位在"源"视图的虚线框中,输入"欢迎来到ASP.
NET世界".
观察"设计"视图中对应的变化,如图1-21所示.
按快捷键Ctrl+S,保存刚才的编辑内容.

图1-21设计Default.
aspx页面步骤4.
在完成应用程序的开发后,可以运行应用程序,单击工具栏上的"启动调试"按钮或选择菜单栏中的"调试"→"启动调试"命令,就能够调试运行ASP.
NET应用程序.
如果是第一次启动"调试"功能,VisualStudio2008会弹出如图1-22所示的对话框,默认选择使用,然后单击"确定"按钮即可.
注意:调试应用程序的快捷键为F5,开发人员可以按F5键进行应用程序的调试.
在"未启用调试"对话框中,选择"修改Web.
config文件以启用调试"单选按钮,表示本网站打开了调试开关,允许以调试的方式来运行网站程序.
这虽然降低了性能,但是可以检查程序运行情况.
如果网站开发完成后需要部署到服务器,则最好关闭调试开关,以提高运行性能.

日本CN2、香港CTG(150元/月) E5 2650 16G内存 20M CN2带宽 1T硬盘

提速啦简单介绍下提速啦 是成立于2012年的IDC老兵 长期以来是很多入门级IDC用户的必选商家 便宜 稳定 廉价 是你创业分销的不二之选,目前市场上很多的商家都是从提速啦拿货然后去分销的。提速啦最新物理机活动 爆炸便宜的香港CN2物理服务器 和 日本CN2物理服务器香港CTG E5 2650 16G内存 20M CN2带宽 1T硬盘 150元/月日本CN2 E5 2650 16G内存 20M C...

Virmach$7.2/年,新款月抛vps上线,$3.23/半年,/1核640M内存/10 GB存储/ 1Gbps/1T流量

Virmach自上次推出了短租30天的VPS后,也就是月抛型vps,到期不能续费,直接终止服务。此次又推出为期6个月的月抛VPS,可选圣何塞和水牛城机房,适合短期有需求的用户,有兴趣的可以关注一下。VirMach是一家创办于2014年的美国商家,支持支付宝、PayPal等方式,是一家主营廉价便宜VPS服务器的品牌,隶属于Virtual Machine Solutions LLC旗下!在廉价便宜美国...

印象云七夕促销,所有机器7折销售,美国CERA低至18元/月 年付217元!

印象云,成立于2019年3月的商家,公司注册于中国香港,国人运行。目前主要从事美国CERA机房高防VPS以及香港三网CN2直连VPS和美国洛杉矶GIA三网线路服务器销售。印象云香港三网CN2机房,主要是CN2直连大陆,超低延迟!对于美国CERA机房应该不陌生,主要是做高防服务器产品的,并且此机房对中国大陆支持比较友好,印象云美国高防VPS服务器去程是163直连、三网回程CN2优化,单IP默认给20...

asp.net为你推荐
css加载失败网易邮箱登陆显示CSS加载失败,怎么办?急,在线等。iproute网关怎么设置?建企业网站想建立一个企业网站googlepr值怎样提高谷歌PR值cisco2960cisco2960接入层交换机曲目ios购物车通过自己的体会总结购物车的作用12306.com如何登录12306青岛网通测速家用电脑上网(青岛网通)512k网速算不算快,玩主流网游卡不卡工具条有什么工具条比较好
域名升级访问 香港主机租用 vps交流 godaddy域名解析 日本软银 namecheap php主机 便宜建站 新世界电讯 godaddy 服务器怎么绑定域名 好看的桌面背景图 java空间 秒杀汇 服务器是干什么的 vip购优惠 百度云1t 美国网站服务器 服务器监测 银盘服务 更多