aspnet学习笔记Word下载.docx
- 文档编号:17842504
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:17
- 大小:37.81KB
aspnet学习笔记Word下载.docx
《aspnet学习笔记Word下载.docx》由会员分享,可在线阅读,更多相关《aspnet学习笔记Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
\down\ASP.NET\ASP.NET2.0+SQLServer2005全程指南\Study_NET\chap02\tryfinally
Finally不管前面的程序是否有异常都会执行,但是在这个例子中总会提示try中异常,运行不到finally就停止了
5.在trycatchfinally语句中,一个try语句可能包含多个catch块,将执行的第一个能够处理该异常的catch语句;
任何后续的catch语句都将被忽略,即使他们是兼容的
6.在访问一个类时,系统最先执行构造函数中的语句,任何构造函数的执行都隐式的调用了系统提供的默认构造函数base()。
因此如果在类中声明了如下所示的构造函数:
Function(){….}
实际就等价于Function():
base(){….}
无论如何创建类必须要有构造函数可以在即创建也可以是默认的,构造函数不能被继承。
构造函数总是public类型,如果是private类型,表明类不能被实例化,这往往用于只含有静态成员的类
析构函数不能是继承来的也不能显示的调用。
在c#中析构函数中不用写任何类似于c++中的delete函数,垃圾收集器会自动完成这些工作
7.在c#钟所有与多线程机制应用相关的类都是放在System.Threading命名空间中的,其中thread类用于创建线程,threadpool类用于管理线程池。
Thread类中有几个至关重要的方法,描述如下:
Start():
启动线程
Sleep(int):
静态方法,暂停当前线程指定的毫秒数
Abort():
通常使用该方法来终止一个线程
Suspend():
该方法并不终止未完成的线程,它仅仅挂起线程,以后还可以恢复
Resume():
恢复被suspend()方法挂起的线程的执行。
第三章ASP.NET2.0常用服务器控件
这章介绍了很多控件的使用方法,有的也跟着设计了,觉得好多时候在设计面板上设计不好比如在table上添加其他控件,位置不好控制,在代码里反而比较好设计,只是很多时候不知道要设置哪些东西,对控件的名字和属性知道的不清楚根本就是个设计不好,这就需要多多练习,熟悉常用的控件的使用方法,及其属性的设置,还有就是培养对动手设计前台的那种感觉。
Button的三种属性:
Button标准的表单按钮;
ImageButton显示图像的表单按钮;
LinkButton显示作为超链接样子Button,
Button基本上就是Text属性来设置按钮上面的文字;
ImageButton基本上就是ImageUrl来设置按钮上图象的地址;
AlternativeText在浏览器不支持图片的时候显示的文字;
LinkButton基本上就是Text属性来设置按钮上的文字;
他们三者共同的属性就是CausesValidation=true/false来设置按钮提交的表单是不是被检验(后面将说到检验控件)
他们三者共同的方法就是OnClick就是点击按钮的时候触发的函数
Multiview和view控件:
两者通常一起用,都属于容器控件,Multiview是一个大容器,其中包含多个view控件,而view控件是一个小控件,其中包含了任何需要显示在页面中的内容。
View控件不支持任何样式属性,若要对View控件应用样式,可将一个或多个panl控件添加到View控件中。
若要允许用户在Multiview控件中的多个View控件之间进行定位,可将LinkButton或Button控件添加到每个View中,将LinkButton或Button控件的CommandName属性设置为要定位到的View控件的ID。
FileUpload服务器控件:
可以看成是一个文本框控件和一个浏览按钮的组合,使用该控件可以将用户选择的客户端上的文件上传到Web服务器。
防止服务攻击的方法之一就是限制可以使用FileUpload
控件上传文件的大小,根据要上传的文件的类型,设置与类型相适应的大小,默认的大小为4096KB(4MB)。
可以通过设置httpRuntime元素的maxRequestLength属性来允许上传更大的文件,若要增加整个应用程序所允许的最大文件大小,设置Web.config文件中的maxRequestLength属性。
若要增加指定页所允许的最大文件大小,设置Web.config中location元素内的maxRequestLength属性。
Calendar控件:
该控件并不直接支持绑定数据库,即不是将日历作为一个整体绑定到数据源,但是可以为Calendar控件的DayRender事件创建一个方法,该事件在呈现当前日历月份中的每个日时引发。
在该事件的方法中,可从数据源中提取信息,并将这些信息添加到向浏览器发送的流中。
AdRotator控件:
该控件是一个广告控件,专门用来显示广告,常常在许多网页上用它爱显示一些广告的内容,因为它可以用来控制一些图片出现在网页中的几率,以及点选后重新导向的网址,所以每次使用者浏览网页时出现的广告都不同。
建议将广告文件放置在App_Data文件夹中,原因是ASP.NET可以防止浏览器使用该文件夹中的文件。
第四章验证控件
1.非空验证
非空验证主要使用RequiredFileValidator控件进行验证,当用户将页面中的数据提交给服务器进行处理时,它会自动检查被验证的控件的值是否为空,如果为空,则RequiredFileValidator控件会在网页中提示错误信息。
当用户同时设置了ErrorMessage和Text属性的值,则在发生错误时将会显示Text属性中设置的信息,在这种情况下可以使用ValidationSummary控件显示ErrorMessage属性中设置的错误信息。
2.范围验证
验证范围主要使用RangeValidator当用户输入的值不在指定的范围,将会引发页面错误。
该控件提供了5种类型的验证,他们分别为Integer,Sting,Data,Double,Currency。
每种类型都存在一个最大值和一个最小值
Integer:
用于验证输入的数据是否在指定的整数范围之内。
Sting:
用于验证输入的字符是否在指定的范围之内。
Data:
用于验证输入的日期是否在指定的日期范围之内
Double:
用于验证输入的数据是否在指定的双精度范围之内
Currency:
用于验证输入的货币是否在指定的货币范围之内
3.比较验证
比较验证主要使用CompareValidator控件进行验证,主要用于验证TextBox文本框控件中的内容与某个控件中的内容、值或固定表达式的值是否相同。
例如,用户在注册时用于验证用户输入的“密码”是否和“确认密码”相同,还可以通过设置CompareValidator控件的Operator属性来进行其他比较操作,如不相等、大于及小于等。
如果同时设置了CompareValidator控件的ContralToCompare和ValueToCompare两个属性,则ContralToCompare属性优先,被验证控件将与ContralToCompare属性指定的控件进行比较。
如果将CompareValidator控件的Operator属性设置为Datatypecheck,则它的ContralToCompare和ValueToCompare属性将同时被忽略,然后判断用户输入的值是否可以转换成指定的数据类型,再和指定的数据进行比较。
4.使用正则表达式验证
正则表达式验证主要是使用RegularExpressionValidator控件进行验证。
在RegularExpressionValidator控件中,主要使用ValidationExpression属性指定信息的验证模式,它可以对E-mail、身份证号码、电话号码及邮编的格式进行验证,同时用户也通过“正则表达式编译器”编写自己的验证表达式,只需要单击“RegularExpressionValidator”控件的“ValidationExpression”属性即可弹出正则表达式的编辑器。
正则表达式的语法比较复杂,它是由普通字符和特殊字符组成的字符模式。
正则表达式作为一个模板,将字符模式与所要验证的字符串进行匹配,如匹配成功则通过验证。
普通字符
正则表达式
特殊字符(比如*、&
、+等)
各个操作符运算的优先级
优先级
操作符
说明
1
\
转义符
2
()、(?
:
)、(?
=)、[]
圆括号或方括号
3
*、+、?
、{n}、{n,}、{n,m}
限定符
4
^、$、\anymetacharacter
位置和顺序
当用户调用Regex类中的IsMatch()方法时,须首先添加System.TextRegularExpression的命名空间,否则将不能使用Regex中的所有方法
5.自定义验证
自定义验证主要是使用CustomValidator控件进行验证它是使用自定义的函数验证控件的输入,创建一个验证函数,检查文本框中输入的值是否为偶数.
CustomValidator控件与其他控件最大的区别是该控件可以添加客户端验证和服务器端验证函数,客户端验证函数是在ClientValidationFunction属性中指定的,而服务器端验证函数是通过ServerValidate时间处理并执行的。
当被验证的控件值为空时,CustomValidator控件将不发挥任何作用,使用RequiredFileValidator控件防止用户跳过某个输入控件。
第五章ASP.NET2.0对象、状态和配置
Response对象
Response对象用于动态响应客户请求(Request),并将动态生成的响应结果返回到客户端浏览器中,使用Response对象可以直接发送信息给浏览器、重定向浏览器到另一个URL或设置cookie的值等。
Response对象的常用属性
属性
功能说明
Buffer
表明页输出是否被缓冲
ContentType
指定响应的HTTP内容类型
Charset
将字符集的名称添加到内容类型标题中
CacheContro
决定代理服务器是否能缓存ASP生成的输出
Status
服务器返回的状态行的值
ExpiresAbsolute
指定浏览器上缓存页面超时的日期和时间
IsClientConnected
表明客户端是否与服务器断开
Pics
将PICS标记的值添加到响应的标题的PICS标记字段中
Response对象的常用方法
方法
AddHeader
设置HTML标题
Write
直接像客户端浏览器输出数据
Flush
立即发送缓冲的输出
AppendToLog
在Web服务器的日志文件中记录日志
BinaryWrite
按照字节格式向客户端浏览器输出数据,不进行任何字符集的转换
Clear
清楚服务器中缓存的HTML信息
Redirect
重定向当前页面,尝试链接另外一个URL
End
停止处理.asp文件并返回当前的结果
在Response对象的Write()方法中,被输入的信息既可以是变亮信息也可以是常量信息;
同时,也可以通过HTML和CSS脚本来改变其样式。
使用Response输出图像时:
DrawEllipse()方法的语法为:
PublicvoidDrawEllipse(penpen,intx,inty,intwidth,intheight)。
参数说明:
a)pen:
确定曲线的颜色、宽度和样式
b)x:
定义椭圆边框的左上角的x坐标
c)y:
定义椭圆边框的左上角的y坐标
d)width:
定义椭圆边框的宽度
e)height:
定义椭圆边框的高度
Response对象的WriteFile()方法使用非常广泛,它不近可以输出文本文件中的数据,同时它也可以实现文件下载的功能,文件下载功能的代码如下:
//<
summary>
//Response.AddHeader实现下载
//<
/summary>
paramname="
filePath"
>
完整的文件路径<
/param>
fileName"
文件名<
privatevoidDownFile(stringfilePath,stringfileName)
FileInfofileInfo=newFileInfo(filePath);
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("
Content-Disposition"
"
attachment;
filename="
+fileName);
Content-Transfer-Encoding"
binary"
Response.ContentType="
application/octet-stream"
;
Response.ContentEncoding=System.Text.Encoding.GetEncoding("
gb2312"
Response.WriteFile("
fileInfo.FullName"
Response.Flush();
Response.End();
Request对象
Request对象是为脚本提供了当客户端请求一个页面或者传递一个窗体时,客户端提供的全部信息,因为Request对象是Page对象的成员之一,所以在程序中不需要任何的声明即可直接使用:
Request对象正确的对象类别名称是HttpRequest。
Request对象常用的属性
Applicationpath
返回目前正在执行程序的服务器的虚拟目录
ClientCertificate
返回有关客户端安全认证的信息
Browser
返回有关客户端浏览器的功能信息
ConnectionID
返回目前客户端所发出的网页浏览请求的ID
ContentEncoding
返回客户端所支持的字符设置
Contenttype
返回目前请求的MIME内容
Cookies
返回一个HttpCookieCollection对象集合
FilePath
返回目前执行网页的相对地址
Files
返回客户端上传的文件集合
Form
返回有关表单变量的集合
Headers
返回有关HTTP标头的集合
HttpMethod
返回目前客户端HTTP数据传输的方式是Post或Get
IsAuthenticated
返回目前的HTTP链接是否有效
Params
返回QueryString、Form、ServerVariable及Cookies全部的集合
Path
返回目前请求网页的相对网址
IsSecureConnection
返回目前HTTP链接是否安全链接
hysicalApplicationPath
返回目前执行的应用程序在服务器端的真实路径
PhysicalPath
返回目前请求网页在服务器端的真实路径
QueryString
返回附在网址后面的参数内容
RawUrl
返回目前请求页面的原始URL
RwquestType
返回客户端HTTP数据的传输方式使用Get或Post
ServerVariables
返回网页Server变量的集合
TotalBytes
返回网页的书录串流有多少字节
Url
返回有关目前请求的URL信息
UserAgent
返回客户端浏览器的版本信息
UserHostAddress
返回远程客户端机器的主机IP信息
UserHostname
返回远程客户端机器的主机名称
UserLanguages
返回一个储存客户端机器使用的语言
Request对象的常用方法
MapPath
返回实际路径
SaveAs
将HTTP请求的信息存储到磁盘中
QueryString对象中保存的数据由单独的用户使用。
它的生命周期可能只有一个请求那么短,也可能有用户使用应用程序的时间那么常(如果构造正确的话),这类数据一般小于1KB。
QueryString中的数据在URL中传递,对于用户来说是可见的。
因此,使用这种技术时,敏感的数据或可用于控制应用程序的数据需要加密。
想要提示以对话框的形式弹出来的代码:
Response.Write("
<
script>
alert('
提示文字'
)<
/script>
"
Server对象
Server对象提供对服务器上的方法和属性进行的访问,最常用的方法是创建ActiveX组建的实例。
其他应用是将URL或HTML编码成字符串,将虚拟路径映射到物理路径,以及设置脚本的超时期限。
Server对象常用的属性
成员
ScriptTimeout
设置超时的时间
MachineName
获取服务器端计算机的名称
Server对象常用的方法
CreateObjectFromClsid
创建COM对象的服务器实例,该对象由对象的类标识符(CLSID)标识
Execute
使用另一页执行当前请求
Transfer
终止当前页的执行,并为当前请求开始执行新页
HtmlDecode
对已被编码以消除无效HTML字符的字符串进行解码
HtmlEncode
对要在浏览器中显示的字符串紧系编码
返回与Web服务器上的指定虚拟路径相对应的物理文件路径
UrlDecode
对字符串进行编码,该字符串为了进行HTTP传书而进行编码并在URL中发送到服务器
UrlEncode
编码字符串,一遍通过URL从Web服务器到客户端进行可靠的HTTP传输
MapPath的语法格式为:
publicstringMapPath(stringpath)
参数path表示指定要映射物理目录的相对或虚拟路径。
若Path以一个正斜杠(/)或反斜杠(\)开始,则MapPath方法返回路径时将Path视为完整的虚拟路径;
若Path不是以斜杠开始,则MapPath方法返回同页面文件中已有路径的相对路径。
这里需要注意的是,MapPath方法不检查返回的路径是否正确或在服务器上是否存在。
Server对象的HTMLEncode方法使客户可以将字符串翻译成可接受的HTML格式一样;
同理Server对象的URLEncode方法可以根据URL规则对字符串进行正确编码,当字符串数据以URL的形式传递到服务器时,在字符串中不允许出现空格,也不允许出现特殊字符。
为此,如果希望在发送字符串之前进行URL编码,则可使用Server.URLEncode方法。
Global.asax文件
Global.asax文件(也称为ASP.NET应用程序文件)是可选文件,包含用于响应ASP.NET或HttpModule引发的应用程序级别事件的代码。
Global.asax文件驻留在基于ASP.NET的程序的根目录中,在运行时,分析Global.asax文件并将其编译到一个动态生成的.NETFramework类,该类是从HttpApplication基类派生的。
本身被配置为自动拒绝对它的任何直接URL请求:
外部无法下载或查看在该文件中编写的代码
Global.asax文件为Application和Sessions定义了5个基本事件:
1)事件Application_Start(ObjectSender,EventArgse)在Application对象开始时被触发。
在该事件中,应用程序可以进行一些与整个应用程序相关的初始化工作,如统计应用程序的总访问人数,就可以在该时间进行初始化工作。
2)事件Application_End(ObjectSender,EventArgse)在Application对象结束时被触发,在该事件中,应用程序还可以进行一些与整个应用程序相关的信息更新工作,如统计应用程序的总访问人数,当用户离开时,就可以在该事件中对总人数减1.
3)事件Application_Error(ObjectSender,EventArgse)在应用程序发送错误时被触发,在该事件中,应用程序可以进行一些与整个应用程序相关的错误信息或状态
4)事件Session_Start(ObjectSender,EventArgse)在Session对象开始时被触发,在该事件中,应用程序可以进行一些与单个用户相关的初始化工作,如统计应用程序的当前访问人数,就可以在该事件中进行初始化工作。
5)事件Session_End(ObjectSender,EventArgse)在Session对象结束时被触发,在该事件中,应用程序可以进行一些与单个用户相关的信息更新工作,如统计应用程序的当前访问人数,就可以在该事件中对总人数减1.
Global.asax文件除了上述5个基本事件外还存在很多事件,如事件Application_BeginRequest(ObjectSender,EventArgse)和Application_EndRequest(ObjectSender,EventArgse),这两个事件经常在网站验证用户身份时使用。
Application对象
该对象可以产生一个全部的Web应用程序都可以存取的变量,这个变量可视范围涵盖全部的使用者,Application对象变量的生命周期是关闭IIS或使用Clear方法消除,Application对象是Page对象的成员,可以直接调用。
使用Application对象变量的语法如下:
Application[“变量”]=“变量内容”
Application对象的常用属性
All
返回全部的Application对象变量到一个object类型的数值
AllKeys
返回全部的Application对象
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- aspnet 学习 笔记
![提示](https://static.bdocx.com/images/bang_tan.gif)