2023年7月14日发(作者:)
第二章 c#基础知识
1.c#中布尔类型的值true和false都是小写的包括头字母
2.对象类型(object类型)是所有类型的父类型,是其他类型最根本的基类。object
myobject=100;
3.循环语句中:
(1)
if (x < 15)
{
ine("您的岁数真的这么小吗?n");
}
//x满足不大于15不小于80的条件,输出用户输入的数据
ine("您的岁数为{0}n", x);
(2)
foreach (char i in sex)
{
if (i == '男')
x0++;
else
x1++;
}
ine("男的个数:{0},女的个数:{1}n", x0, x1); //输出男女个数
(1)中输出时有没有{0}都可以正确编译并运行对结果也没有影响,而在(2)中却不可以 //如果是女的话,x1加1
//如果是男的话,x0加1
//遍历数组中的元素 去掉,为这是有{0}、{1}时运行的结果,而去掉{0}、{1}后运行这样很明显看出来它在输出语句中是带参数和默认参数,相当于一个参数当去掉的时候返回值没有被带回,另外可以有多个参数,默认为一个参数,而在(2)中{0},{1}则是从零开始安排参数,{0}、{1}分别对应于x0、x1
4. F: 2.0+SQL Server 2005 全程指南Study_NETchap02tryfinally
Finally不管前面的程序是否有异常都会执行,但是在这个例子中总会提示try中异常,运行不到finally就停止了
5.在try catch finally语句中,一个try语句可能包含多个catch块,将执行的第一个能够处理该异常的catch语句;任何后续的catch语句都将被忽略,即使他们是兼容的
6.在访问一个类时,系统最先执行构造函数中的语句,任何构造函数的执行都隐式的调用了系统提供的默认构造函数base()。因此如果在类中声明了如下所示的构造函数:
Function(){….}
实际就等价于Function():base(){….}
无论如何创建类必须要有构造函数可以在即创建也可以是默认的,构造函数不能被继承。
构造函数总是public类型,如果是private类型,表明类不能被实例化,这往往用于只含有静态成员的类
析构函数不能是继承来的也不能显示的调用。在c#中析构函数中不用写任何类似于c++中的delete函数,垃圾收集器会自动完成这些工作
7.在c#钟所有与多线程机制应用相关的类都是放在ing命名空间中的,其中thread类用于创建线程,threadpool类用于管理线程池。Thread类中有几个至关重要的方法,描述如下:
Start():启动线程
Sleep(int):静态方法,暂停当前线程指定的毫秒数
Abort():通常使用该方法来终止一个线程
Suspend():该方法并不终止未完成的线程,它仅仅挂起线程,以后还可以恢复
Resume():恢复被suspend()方法挂起的线程的执行。
第三章 2.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属性来允许上传更大的文件,若要增加整个应用程序所允许的最大文件大小,设置文件中的maxRequestLength属性。若要增加指定页所允许的最大文件大小,设置中location元素内的maxRequestLength属性。
Calendar控件:
该控件并不直接支持绑定数据库,即不是将日历作为一个整体绑定到数据源,但是可以为Calendar控件的DayRender事件创建一个方法,该事件在呈现当前日历月份中的每个日时引发。在该事件的方法中,可从数据源中提取信息,并将这些信息添加到向浏览器发送的流中。
AdRotator控件: 该控件是一个广告控件,专门用来显示广告,常常在许多网页上用它爱显示一些广告的内容,因为它可以用来控制一些图片出现在网页中的几率,以及点选后重新导向的网址,所以每次使用者浏览网页时出现的广告都不同。建议将广告文件放置在App_Data文件夹中,原因是可以防止浏览器使用该文件夹中的文件。
第四章 验证控件
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”属性即可弹出正则表达式的编辑器。
正则表达式的语法比较复杂,它是由普通字符和特殊字符组成的字符模式。正则表达式作为一个模板,将字符模式与所要验证的字符串进行匹配,如匹配成功则通过验证。
普通字符
非打印字符
打印字符即a~z,A~Z,0~9
正则表达式
特殊字符(比如*、&、+等)
各个操作符运算的优先级
优先级
1
2
3
4
操作符
说明
转义符
圆括号或方括号
限定符
位置和顺序
()、(?:)、(?=)、[]
*、+、?、{n}、{n,}、{n,m}
^、$、anymetacharacter
当用户调用Regex类中的IsMatch()方法时,须首先添加gularExpression的命名空间,否则将不能使用Regex中的所有方法
5. 自定义验证
自定义验证主要是使用CustomValidator控件进行验证它是使用自定义的函数验证控件的输入,创建一个验证函数,检查文本框中输入的值是否为偶数.
CustomValidator控件与其他控件最大的区别是该控件可以添加客户端验证和服务器端验证函数,客户端验证函数是在ClientValidationFunction属性中指定的,而服务器端验证函数是通过ServerValidate时间处理并执行的。
当被验证的控件值为空时,CustomValidator控件将不发挥任何作用,使用RequiredFileValidator控件防止用户跳过某个输入控件。
第五章 2.0对象、状态和配置
Response对象
Response对象用于动态响应客户请求(Request),并将动态生成的响应结果返回到客户端浏览器中,使用Response对象可以直接发送信息给浏览器、重定向浏览器到另一个URL或设置cookie的值等。
Response对象的常用属性
属性
Buffer
ContentType
Charset
CacheContro
Status
ExpiresAbsolute
IsClientConnected
Pics
表明页输出是否被缓冲
指定响应的HTTP内容类型
将字符集的名称添加到内容类型标题中
决定代理服务器是否能缓存ASP生成的输出
服务器返回的状态行的值
指定浏览器上缓存页面超时的日期和时间
表明客户端是否与服务器断开
将PICS标记的值添加到响应的标题的PICS标记字段中
功能说明
Response对象的常用方法
方法
AddHeader
Write
Flush
AppendToLog
BinaryWrite
Clear
Redirect
End
功能说明
设置HTML标题
直接像客户端浏览器输出数据
立即发送缓冲的输出
在Web服务器的日志文件中记录日志
按照字节格式向客户端浏览器输出数据,不进行任何字符集的转换
清楚服务器中缓存的HTML信息
重定向当前页面,尝试链接另外一个URL
停止处理.asp文件并返回当前的结果
在Response对象的Write()方法中,被输入的信息既可以是变亮信息也可以是常量信息;同时,也可以通过HTML和CSS脚本来改变其样式。
使用Response输出图像时:DrawEllipse()方法的语法为:Public void DrawEllipse(pen pen,int x,int y,int width,int height)。
参数说明:
a) pen:确定曲线的颜色、宽度和样式
b) x:定义椭圆边框的左上角的x坐标
c) y:定义椭圆边框的左上角的y坐标
d) width:定义椭圆边框的宽度
e) height:定义椭圆边框的高度
Response对象的WriteFile()方法使用非常广泛,它不近可以输出文本文件中的数据,同时它也可以实现文件下载的功能,文件下载功能的代码如下:
//
//der实现下载
//
//完整的文件路径
//文件名
private void DownFile(string filePath,string fileName)
{
FileInfo fileInfo=new FileInfo(filePath);
();
ontent();
eaders();
der("Content-Disposition","attachment;filename="+fileName);
der("Content-Transfer-Encoding","binary");
tType="application/octet-stream";
tEncoding=oding("gb2312");
ile("me");
();
();
}
Request对象
Request对象是为脚本提供了当客户端请求一个页面或者传递一个窗体时,客户端提供的全部信息,因为Request对象是Page对象的成员之一,所以在程序中不需要任何的声明即可直接使用:Request对象正确的对象类别名称是HttpRequest。
Request对象常用的属性
属性
Applicationpath
ClientCertificate
Browser
ConnectionID
ContentEncoding
Contenttype
Cookies
FilePath
Files
Form
Headers
HttpMethod
IsAuthenticated
Params
Path
IsSecureConnection
说明
返回目前正在执行程序的服务器的虚拟目录
返回有关客户端安全认证的信息
返回有关客户端浏览器的功能信息
返回目前客户端所发出的网页浏览请求的ID
返回客户端所支持的字符设置
返回目前请求的MIME内容
返回一个HttpCookieCollection对象集合
返回目前执行网页的相对地址
返回客户端上传的文件集合
返回有关表单变量的集合
返回有关HTTP标头的集合
返回目前客户端HTTP数据传输的方式是Post或Get
返回目前的HTTP链接是否有效
返回QueryString、Form、ServerVariable及Cookies全部的集合
返回目前请求网页的相对网址
返回目前HTTP链接是否安全链接
hysicalApplicationPath
返回目前执行的应用程序在服务器端的真实路径
PhysicalPath
返回目前请求网页在服务器端的真实路径 QueryString
RawUrl
RwquestType
ServerVariables
TotalBytes
Url
UserAgent
UserHostAddress
UserHostname
UserLanguages
返回附在网址后面的参数内容
返回目前请求页面的原始URL
返回客户端HTTP数据的传输方式使用Get或Post
返回网页Server变量的集合
返回网页的书录串流有多少字节
返回有关目前请求的URL信息
返回客户端浏览器的版本信息
返回远程客户端机器的主机IP信息
返回远程客户端机器的主机名称
返回一个储存客户端机器使用的语言
Request对象的常用方法
属性
MapPath
SaveAs
返回实际路径
将HTTP请求的信息存储到磁盘中
说明
QueryString对象中保存的数据由单独的用户使用。它的生命周期可能只有一个请求那么短,也可能有用户使用应用程序的时间那么常(如果构造正确的话),这类数据一般小于1KB。QueryString中的数据在URL中传递,对于用户来说是可见的。因此,使用这种技术时,敏感的数据或可用于控制应用程序的数据需要加密。
想要提示以对话框的形式弹出来的代码:
("");
Server对象
Server对象提供对服务器上的方法和属性进行的访问,最常用的方法是创建ActiveX组建的实例。其他应用是将URL或HTML编码成字符串,将虚拟路径映射到物理路径,以及设置脚本的超时期限。
Server对象常用的属性
成员
ScriptTimeout
MachineName
Server对象常用的方法
方法 说明
设置超时的时间
获取服务器端计算机的名称
说明
CreateObjectFromClsid
创建COM对象的服务器实例,该对象由对象的类标识符(CLSID)标识
Execute
Transfer
HtmlDecode
HtmlEncode
MapPath
UrlDecode
使用另一页执行当前请求
终止当前页的执行,并为当前请求开始执行新页
对已被编码以消除无效HTML字符的字符串进行解码
对要在浏览器中显示的字符串紧系编码
返回与Web服务器上的指定虚拟路径相对应的物理文件路径
对字符串进行编码,该字符串为了进行HTTP传书而进行编码并在URL中发送到服务器
UrlEncode
编码字符串,一遍通过URL从Web服务器到客户端进行可靠的HTTP传输
MapPath的语法格式为:public string MapPath(string path)
参数path表示指定要映射物理目录的相对或虚拟路径。若Path以一个正斜杠(/)或反斜杠()开始,则MapPath方法返回路径时将Path视为完整的虚拟路径;若Path不是以斜杠开始,则MapPath方法返回同页面文件中已有路径的相对路径。这里需要注意的是,MapPath方法不检查返回的路径是否正确或在服务器上是否存在。
Server对象的HTMLEncode方法使客户可以将字符串翻译成可接受的HTML格式一样;同理Server对象的URLEncode方法可以根据URL规则对字符串进行正确编码,当字符串数据以URL的形式传递到服务器时,在字符串中不允许出现空格,也不允许出现特殊字符。为此,如果希望在发送字符串之前进行URL编码,则可使用ode方法。
文件
文件(也称为应用程序文件)是可选文件,包含用于响应或HttpModule引发的应用程序级别事件的代码。文件驻留在基于的程序的根目录中,在运行时,分析文件并将其编译到一个动态生成的.NET Framework类,该类是从HttpApplication基类派生的。文件
本身被配置为自动拒绝对它的任何直接URL请求:外部无法下载或查看在该文件中编写的代码
文件为Application和Sessions定义了5个基本事件:
1) 事件Application_Start(Object Sender,EventArgs e)在Application对象开始时被触发。在该事件中,应用程序可以进行一些与整个应用程序相关的初始化工作,如统计应用程序的总访问人数,就可以在该时间进行初始化工作。
2) 事件Application_End(Object Sender,EventArgs e)在Application对象结束时被触发,在该事件中,应用程序还可以进行一些与整个应用程序相关的信息更新工作,如统计应用程序的总访问人数,当用户离开时,就可以在该事件中对总人数减1. 3) 事件Application_Error(Object Sender,EventArgs e)在应用程序发送错误时被触发,在该事件中,应用程序可以进行一些与整个应用程序相关的错误信息或状态
4) 事件Session_Start(Object Sender,EventArgs e)在Session对象开始时被触发,在该事件中,应用程序可以进行一些与单个用户相关的初始化工作,如统计应用程序的当前访问人数,就可以在该事件中进行初始化工作。
5) 事件Session_End(Object Sender,EventArgs e)在Session对象结束时被触发,在该事件中,应用程序可以进行一些与单个用户相关的信息更新工作,如统计应用程序的当前访问人数,就可以在该事件中对总人数减1.
文件除了上述5个基本事件外还存在很多事件,如事件Application_BeginRequest(Object Sender,EventArgs e)和Application_EndRequest(Object Sender,EventArgs e),这两个事件经常在网站验证用户身份时使用。
Application对象
该对象可以产生一个全部的Web应用程序都可以存取的变量,这个变量可视范围涵盖全部的使用者,Application对象变量的生命周期是关闭IIS或使用Clear方法消除,Application对象是Page对象的成员,可以直接调用。使用Application对象变量的语法如下:Application[“变量”]=“变量内容”
Application对象的常用属性
属性
All
AllKeys
Count
Item
说明
返回全部的Application对象变量到一个object类型的数值
返回全部的Application对象变量名称到一个字符串数组中
取得Application对象变量的数量
允许使用索引或Application变量名称传回内容值 Application对象的常用方法
方法
Add
Clear
Get
Lock
Remove
RemoveAll
Set
UnLock
Session对象
Session是用来存储跨网页程序的变量或是对象、功能和Application对象一样,但是他们之间的变量特性不太一样,Session对象变量只针对单一网页使用者,也就是说,各个链接的计算机有各自的Session对象变量,不同的客户端无法互相存取,Application对象变量终止与IIS服务的停止。但是Session对象变量终止于联机计算机离线时,也就是当网页使用者关掉浏览器或超过设定Session变量对象的有效时间时,Session对象的使用方式和Application对象变量类似,语法如下所示:
Session[“变量名”]=内容
读取Session值的语法为:
Variablesname=Session[“变量名”]
Session对象的常用属性
属性 说明
说明
新增一个新的Application对象变量
清楚全部的Application对象变量
使用索引或变量名称传回变量值
锁定全部的Application变量
使用变量名称移除一个Application
移除全部的Application对象变量
使用变量名称更新一个Application对象变量的内容
接触锁定Application对象 IsNewSession
如果用户在访问页面时是创建新的会话,则此属性返回True。在使用会话之前使用某些数据初始化会话时,此属性就非常有用
TimeOut
传回或设定Session对象变量的有效时间,当使用者超过有效时间没有动作,Session对象便失效,默认值为20分钟
Session对象的常用方法
方法
Abandon
说明
此方法结束当前会话,并清楚会话中的所有信息,如果用户随后访问页面,可以由它创建新会话(“重新建立”非常有效,这样用户就可以得到新的会话)
Clear
Cookie对象
Cookie对象用于保存客户浏览器请求服务器页面的i请求信息,程序员也可以用它存放非敏感性的用户信息,信息保存的时间可以根据需要设置。如果没有设置Cookie失效时间,它们仅保存到关闭浏览器程序为止。如果将Cookie对象的Expires属性设置为MiniValue则标识Cookie永不过期。
ViewState对象
ViewState对象常用于保存单个用户的状态信息,有效期等于页面的生命期。如果某个控件不需要在回发期间保存状态信息,最好关闭该对象的ViewState,避免不必要的资源浪费。通过@page指令添加”enable ViewState=false”属性可以禁止整个页面的ViewState
文件
文件是一个XML文本文件,它用来存储 Web用于程序的配置信此方法清除全部的Session对象变量,但不结束会话 息(如最常用的设置 Web有那个有程序的身份验证方式)。
在文件中包含多个配置节:
1)
该配置节主要用于配置 身份验证(支持Windows、Forms、PassPort和None4种),该元素只能用于计算机、站点、或应用程序级别声明。
2)
该配置节主要用于控制对URL客户端资源的访问(如允许匿名用户访问),此元素可以在任何级别(计算机、站点、应用程序、子目录或页)上声明,必须与节配合使用,以下代码禁止匿名用户的访问:
同时,可以使用来获取已经验证的当前的用户名;可以使用ctFormLoginPage.方法将已验证的用户重定向到用户刚才请求的页面。
3)
该配置节主要用于配置的编译设置,默认的debug属性为“True”,zai 在程序编译完成交付使用之后应将其设为True。 4)
该配置节主要用于配置应用程序发生错误跳转到指定的错误页面进行处理。它不适应于XML Web Services中发生的错误,当发生错误时,将网页跳转到自定义的错误页面。处理应用程序错误存在On、Offi和RemoteOnly三种模式:
On,表示始终显示自定义(友好的)信息
Off,表示始终显示详细的错误信息
RemoteOnly,表示只对不再本地Web服务器上运行的用户显示自定义(友好的)信息。处于安全目的,建议使用此设置,以便不同远程客户端显示应用程序的详细信息,
< customErrors defaultRedirect=”” mode=”RemoteOnly”>
customErrors >
其中元素defaultRedirect表示自定义的错误网页的名称。mode元素表示对不再本地Web服务器上运行的用户显示自定义信息。
5)
该配置节主要用于配置 HTTP运行库设置,该节可以在计算机、站点、应用程序和子目录级别声明。控制用户上传文件最大为4KB,最长时间为60秒,最多请求数为100
appRequestQueueLimit=”100”/> 6) 该配置节主要用于标识特定于页的配置设置(如是否启用会话状态、试图状态,是否检测用户的输入等)。 该配置主要用于配置会话状态设置(如设置是否启用会话状态,会话状态的保存位置)。 其中,mode=”InProc”表示在本地存储会话状态(可以选择存储在远程服务器或SAL服务器中或不启用会话状态)。cookieless=”true”表示如果用户浏览器不支持Cookie时启用会话状态(默认为false)。timeout=”20”表示会话可以处于空闲状态的分钟数。 8) 该配置节主要用于配置跟踪服务,主要用来测试判读哪里出错。 traceMode=”SortByTime” localOnly=”true”/> 其中enable=”false”表示不启用跟踪;requestLimit=”10”表示指定在服务器上存储的跟踪请求的数目;pageOutput=”false”表示只能通过跟踪实用工具访问跟踪输出;traceMode=”SortByTime”表示以处理跟踪的顺序来显示跟踪信息;localOnly=”true”表示跟踪查看器只用于宿主Web服务器。 配置数据库连接字符串: 配置数据库连接字符串主要是在 A. DataSource属性:用于指定数据库服务器名 B. DataBase属性:用于指定要连接的数据库名 C. Uid属性:用于指定登陆数据库服务器的用户名 D. Pwd属性:用于指定登陆数据库服务器的用户密码 < connectionStrings> connectionString=”server=…”;database=…;uid=sa;pwd=..”/> connectionStrings> configuration> 主要在< connectionStrings>和 connectionStrings>配置节中添加了连接数据库的字符串。 读取文件中连接数据库的字符串,代码如下: public string GetConnectString() { //从文件中读取连接数据库的字符串保存到变量GetConnectString中,并返回 string GetConnectString=ConfigurationManager. ConnectionStrings[“name”].ConnectionString; return GetConnectString; }
发布者:admin,转转请注明出处:http://www.yc00.com/news/1689306586a228359.html
评论列表(0条)