ASP.NET(VB.NET)学习笔记--第三章.ASP.NET常用的内置对象

17 篇文章 1 订阅
10 篇文章 0 订阅
第三章.ASP.NET常用的内置对象
一.Page对象
    该对象对应Web Form窗体,用来设置与网页有关的各种属性、方法和事件。
    1.Page对象的主要属性
属性名
操作
说明
Application
对象
只读
获取当前Web请求的Application对象
Cache
对象
只读
获取与网页所在应用程序相关联的Cache对象
ClientTarget
字符串
读/写
客户端浏览器属性
EnableViewState
布尔值
读/写
当前网页请求结束时,是否要保持视图状态及其所包含的服务器的视图状态,默认为True
ErrorPage
URL
读/写
当前网页发生未处理的异常时,将转向错误信息网页;其成员未设置此属性值,将显示默认错误信息网页
IsPostBack
布尔值
只读
网页加载状况,为True表示网页是由于客户端返回数据而重新被加载,为Flase表示网页被第一次加载
IsValid
布尔值
只读
网页上的验证控件是否全部验证成功,为True表示全部验证成功,为False表示至少有一个验证控件验证失败
Request
对象
只读
当前网页的Request对象
Response
对象
只读
当前网页的Response对象
Server
对象
只读
Server对象
Session
对象
只读
Session对象
Trace
对象
只读
当前网页请求的Trace对象
Visible
布尔值
读/写
设置是否显示网页
    2.Page对象的方法
方法名
说明
DataBind()
将数据源与Web Form上的服务器控件进行绑定
Dispose()
让服务器控件在释放内存前执行清理操作
FindControl(id)
在Web Form上搜索标识为id的服务器控件,若找到则返回该控件,若找不到则返回Nothing
HasControls()
若Page对象中包含服务器控件,则返回Trjue,否则返回False
MapPath(VirtualPath)
将虚拟路径VirtualPath转换为实际路径
3.Page对象的事件
方法名
说明
Init
ASP.NET网页被请求时第一个触发的事件(只在第一次加载时触发,重新加载并不触发)
Load
网页载入时触发的事件
UnLoad
网页完成处理且信息被写入浏览器时触发的事件
DataBinding
当网页上的服务器控件连接数据源时触发的事件
Disposed
当网页从内存释放时触发的事件
Error
当网页上发生未处理的异常情况时触发的事件
    4.例:
    <script Language="vb" runat="server">
    Sub Page_Init(Sender as Object,e As EventArgs)
        Course.Items.Add("语文")
        Course.Items.Add("数学")
    End Sub
    Sub AddCourse(Sender As Object,e As EventArgs)
        Course.Items.Add(CourseName.Text)
    End Sub
    </script>
    <form Runat="server">
    可选择的课程:<asp:DropDownList Runat="server" id="Course"/>
    <br><br>
    要增加的课程:<asp:TextBox Runat="server" id="CourseName"/>
    <asp:Button Runat="server" Text="增加课程" OnClick="AddCourse"/>
    </form>
二.Response对象
    1.Response对象的属性
属性
操作
说明
Buffer
读/写
确定数据发送给客户之前是否要缓冲
CacheControl
 
是否要用高速缓存输出的内容
CharSet
读/写
字符集名称
ContentType
读/写
指定响应的HTTP内容的MIME类型,缺省值是text/html.
Cookies
读/写
Cookies
Expires
 
高速缓存的过期之前的时间
ExpiresAbsolute
 
高速缓存的过期的日期和时间
IsClientConnected
只读
客户端是否和服务器断开连接(True表示仍然连接中,Fasle表示断开)
PICS
 
PICS标签
Status
 
返回服务器的状态
    2. Response对象的方法
方法
说明
AddHeader
用指定的值给页面添加HTML首标信息
AppendToLog
为Web服务器添加日志信息
BinaryWrite
将信息不经过字符集转换,直接输出到页面上
ClearHeaders
将缓冲区中所有的页面标头清除
Close
关闭客户端的联机
Clear
清除缓冲区中的内容
End
停止当前ASP.NET进程的执行
Flush
将缓冲中的内容输出
Rdirect
将浏览器重定向到另一个URL
Write
向页面输出字符串
WriteFile
把文件的内容向页面输出
三.Request对象
    1.Request对象的属性
名称
操作
说明
AcceptType
只读
客户端支持的MIME接受类型字符串数组
ApplicationPath
 
返回目前正在执行程序的服务器端的虚拟目录
Browser
只读
检索用户浏览器的功能信息
ClientCertificate
只读
返回有关客户端安全认证的信息
Cookies
 
Cookies集合,如果使用了Cookie,那么将从这个集合中读到相关的Cookie信息
FilePath
 
返回目前执行网页的相对地址
Files
 
返回客户端上传的档案集合
Form
 
返回有关窗体变量的集合.在发出请求的页面中的所有表单中的控件信息都可以之Form集合中得到
Headers
只读
返回有关HTTP标头的集合
HttpMethod
只读
返回目前客户端HTTP数据传输的方式是Post或Get
IsAuthenticated
 
返回目前的HTTP联机是否有效
IsSecureConnection
 
HTTP连接是否使用加密
Params
 
返回QueryString、Form、ServerVariable以及Cookies全部的集合
Path
只读
被请求页面的完整路径(包括文件名)
PathInfo
只读
当前请求的附加路径,如URL为http://www.x.com/xx/default.aspx/abc,则PathInfo属性为/abc
PhysicalApplicationPath
 
被请求页面在硬盘上的物理路径名称
PhysicalPath
 
返回目前请求网页在服务器端的真实路径
QueryString
 
QueryString集合,通过页面的URL可以得到相关参数的值.这些值可以自动解析并使用.
RawUrl
 
返回浏览器提交的没有协议和域名的URL地址
RequestType
 
请求是"Post"还是"Get"
ServerVariables
 
ServerVariables集合,通过ServerVariables可以得到相关的环境变量,通过获得环境变量的值,可以搜集很多浏览器的关键信息.
TotalBytes
只读
只读属性,它表明用户提交的数据的字节的总数
UerHostAddress
 
用户机器的IP地址
Url
只读
返回浏览器提交的完整URL地址
UserAgent
只读
返回客户端浏览器的版本信息
UserHostAddress
只读
返回远方客户端机器的主机IP地址
UserHostName
只读
返回远方客户端机器的DNS名称
UserLanguages
 
返回一个储存客户端机器使用的语言
2.Request对象的方法和属性
名称
说明
BinaryRead
得到用户上载的文件的字节数总和
MapPath(VirtualPath)
将参数virtualPath指定的虚拟路径转化为实际路径
SaveAs(filename,includeHeaders)
将HTTP请求保存到磁盘,filename是保存文件路径,includeHeaders指定是否保存HTTP标头
3.Request对象的集合
名称
说明
Cookies
浏览器的Cookies信息
Browser
浏览器的能力(支持的功能)
Form
客户端表单元素中所填入的信息
Params
QueryString、Form、ServerVariables和Cookies项的数据
QueryString
URL请求字符串
ServerVariables
服务器环境变量的值
4.环境变量的名称和说明 ServerVariables集合
变量名称
说明
ALL_HTTP
在没有解析成为其他环境变量值前的所有HTTP
AUTH_PASSWORD
客户在身份验证框中输入的密码
AUTH_TYPE
表示身份验证的类型
AUTH_USER
客户在身份验证框中输入的用户名
CONTENT_LENGTH
检索的字节数
CONTENT_TYPE
内容类型
DATE_GMT
当前时间和格林威治表示
DATE_LOCAL
当前时间的本地表示
DOCUMENT_NAME
当前文件名
DOCUMENT_URI
当前文档的虚拟路径
HTTP_HOST
客户端的主机名称
HTTP_USER_AGENT
返回客户端浏览器信息,如浏览器类型、版本、操作系统
HTTPS
浏览器是否以SSL发送,如是,则为ON,否则为OFF
LAST_MODIFIED
当前文档的最后一次修改日期
LOCAL_ADDR
服务器IP地址
PATH_INFO
路径信息,通常是将当前的URL与查询字符串组合在一起
PATH_TRANSLATED
当前网页的的实际路径
QUERY_STRING
客户端以Get方式返回的表单数据
REMOTE_ADDR
发送请求的客户或代理服务器的IP地址
REMOTE_HOST
发送请求的客户或代理器的主机名称
REMOTE_USER
已经验证了的客户的用户名
REQUEST_METHOD
请求方法(是POST还是GET)
SCRIPT_NAME
当前脚本程序的名称
SERVER_NAME
服务器的主机名或IP地址
SERVER_PORT
接受请求的TCP/IP端口(默认值是80)
SERVER_PROTOCAL
信息检索的协议名称和版本
SERVER_SOFTWARE
Web服务器的名称和版本
URL
URL的基本部分,不包括查询字符串
5.获取用户浏览器能力信息    Browser集合
名称
说明
ActiveXControls
是否支持ActiveX控件
BackgroundSounds
是否支持背景音乐
Beta
是否为测试版
Browser
用户代理(User-Agent)标头中有关浏览器的描述
ClrVersion
客户端安装的.NET的CLR版本,若未安装,返回返回值为0,0,-1,-1
Cookies
是否支持Cookie
Frames
是否支持框架
JavaApplets
是否支持Java Applets
JavaScript
是否支持JavaScript
MSDomVersion
支持的Microsoft HTML文档对象模型版本
Platform
客户端操作系统版本
Tables
是否支持HTML表格
VBScript
是否支持VBScript
VerSion
浏览器完整版本号
W3CdomVersion
支持的W3C XML文档对象模型的版本号
Win16
客户端是否为Win16结构计算机
Win32
客户端是否为Win32结构计算机
例:Response.Write(Request.Browser.Version)
6.获取Cookie对象       Cookies对象
(1).Cookie对象的属性
属性
说明
All
返回全部的Cookie变量到一个数组中
AllKeys
返回全部的Cookie变量的名称到一个字符串类型的数组中
Count
返回Cookie变量的数量
Domain=”…”
可访问此Cookie对象的域
Expires=”#Date#”
Cookie对象的终止日期和时间,默认是1000分钟。若设为0,则可实时删除Cookie变量
HasKeys
Cookie对象中是否含有子键(Subkey)
Item
以Cookie变量名称或索引值来返回Cookie变量的内容
Item(key)=”val”
向Cookie对象中添加名为key,值为val的子键;Item(key)可获得子键名为key的键值
Name=”…”
Cookie对象的名称
Value=”…”
Cookie对象的值
Values(key)=”val”
向Cookie对象中添加名为key,值为val的子键;Values(key)可获得子键名为key的键值
(2).Cookie对象的方法
方法
说明
Add
新增一个Cookie变量到Cookie集合内
Clear
将Cookie集合内的变量全部清除
Get
以Cookie变量名称或索引值返回Cookie变量的值
GetKey
以索引值来取回Cookie变量名称
Remove
以Cookie变量名称移除Cookie变量
Set
更新一个Cookie变量的值
(3).
    <Script language="vb" Runat="server">
    Sub Page_Load(Sender As Object,e as EventArgs)
        '----------------------------写入Cookie对象-------------------------------
        Dim newCookie as HttpCookie=New HttpCookie("CookieExmp")'定义并创建名为CookieExmp的Cookie对象
        newCookie.Values("Name")="CBW"
        newCookie.Values("Age")="100"
        newCookie.Expires=DateTime.Now.AddDays(10) '设置Cookie对象的终止日期是当前日期加10天
        Response.Cookies.Add(newCookie)             '写入Cookie对象
        '-----------------------------读取Cookie对象-------------------------------
        Dim GetCookie As HttpCookie=Request.Cookies("CookieExmp")
        Response.Write("Name:"+GetCookie.Values("Name")+"<br>")
        Response.Write("Age:"+GetCookie.Values("Age")+"<br>")
    End Sub
    </script>  
7.获取用户浏览器信息
    使用Request对象的Browser属性,其子属性有:
    (1).Browser:表示浏览器的名称
    (2).MajorVersion:表示浏览器的版本的整数位
    (3).Version:表示浏览器的完整版本号
    8.例:通过索引获取Get参数名及参数值
        <Script Language="VB" Runat="Server">
            Sub Page_Load(Sender As Object,e As Eventargs)
            Dim shtLoop1, shtLoop2 As Short
            Dim arA(), arB() As String
            Dim colA As NameValueCollection         ' QueryString属性的类型为NameValueCollection
            colA=Request.QueryString
            arA = colA.AllKeys                  ' 取得全部的键值并存到一个数组中
            For shtLoop1 = 0 To UBound(arA)
            Response.Write("参数名:" & arA(shtLoop1))
            arB = colA.GetValues(shtLoop1)          ' 利用外循环的索引来取得参数内容并存到一个数组中
            For shtLoop2 = 0 To UBound(arB)
            Response.Write(" 内容:" & arB(shtLoop2) & "<br>")
            Next shtLoop2
            Next shtLoop1
            End Sub
        </Script>
四. Application对象
1. Application对象的属性
属性
操作
说明
All
 
返回全部的Application对象变量到一个Object类型的数组
AllKeys
 
返回全部的Application对象变量名称到一个String类型的数组中
AllKeys(index)
只读
返回下标为index的变量名
Contents({name,index})
只读
Contents集合中名称为name或下标为index的变量值。如,Application.Contents(“cnt”),或简写为Application(“cnt”)。保留它是为了与ASP兼容。
Count
只读
取得Application对象变量的数量
Item({name,index})
读/写
Centents集合内名称为name或下标为index的变量值。如:Application.Item(“cnt”),或简写为Application(“cnt”)
StaticObjects(name)
读/写
StaticObjects集合内的所有对象变量
2. Application对象的方法和属性
方法
说明
Add(name,value)
向Contents集合中添加名称为name,值为value的变量
Clear
清除Contents集合中的所有变量
Get({name,index})
获取名称为name或下标为index的变量
GetKey(index)
获取下标为index的变量名
Lock
锁定Application对象,防止其他用户访问Application对象
Remove(name)
从Contents集合中删除名称为name的变量
RemoveAll
清除Contents集合中的所有变量
RemoveAt(index)
删除contents集合中下标为index的变量
Set(name,value)
将名称为name的变量值修改为value
Unlock
撤销对Application对象的锁定,其他用户可以访问Application对象
3. Application对象的事件
    1).OnStart:在整个ASP.NET应用首先被触发的事件,也就是一个虚拟目录中第一个ASP.NET程序执行时触发
2).OnEnd:与OnStart正好相反,在整个应用停止时被触发,通常发生在服务器被重启/关机时
3).OnBeginRequest:在每一个ASP.NET程序被请求时发生,即客户每访问一ASP.NET程序,就触发一次该事件
4).OnEndRequest:ASP.NET程序结束时,触发该事件
注:
    (1).这四个事件前的On均可省略
    (2).Application事件只能在Global.asax文件中定义(该文件必须放在Web站点或虚拟目录的主目录下)
4.例:
global.asax文件:
<script language="VB" runat="server">
Sub Application_Start(Sender As Object, E As EventArgs)      '每个应用程序启动时执行
End Sub
Sub Application_End(Sender As Object, E As EventArgs)        '每个应用程序结束时执行
'我们捎带实现了站点的当前在线人数
dim intOnlineNumber as integer
intOnlineNumber=cInt(Application("ONLINENUMBER"))-1
Application("ONLINENUMBER")=intOnlineNumber
End Sub
Sub Session_Start(Sender As Object, E As EventArgs)          '每个会话开始时执行
Application.Lock
intOnlineNumber=cInt(Application("ONLINENUMBER"))+1
Application("ONLINENUMBER")=intOnlineNumber+1
Application.UnLock
End Sub
Sub Session_End(Sender As Object, E As EventArgs)            '每个会话结束时执行
End Sub
Sub Application_BeginRequest(Sender As Object, E As EventArgs)   '每个页面请求开始时执行
response.write("当前访问的页面是 " + Request.FilePath + "<br>")
'既然我们可以得到FilePAth 则我们只要把这个参数进行详细的各种各样的统计就可以了
End Sub
Sub Application_EndRequest(Sender As Object, E As EventArgs)     '每个页面请求结束时执行
End Sub
</script>
    使用文件:
<script language="vb" runat=server>
 sub Page_Load(o as object,e as eventargs)
   Application.Lock()
   Application("counter") = CType(Application("counter") + 1, Int32)
   Application.UnLock()
 end sub
</script>
五.Session对象
1.Session对象的属性
属性
操作
说明
All
只读
返回全部的Session对象变量到一个数组
CodePage
 
代码页,用于显示特殊字符的字符集
Contents({name,index})
只读
返回Contents集合中名称为name或下标为index的变量值
Count
只读
返回Session对象变量的个数
IsNewSession
只读
获取Session对象是否与当前请求一起创建
IsReadOnly
只读
获取Session是否为只读,默认为False
Item({name,index})
读/写
以索引值index或变量名name来返回或设定Session
Keys
只读
Contents集合内的所有变量。Keys(index)为获取下标为index的变量值
LCID
 
位置标志
SessionID
只读
由服务器生成的会话ID,它代表惟一的一次会话
StaticObjects(name)
读/写
包含使用<OBJECT>所标记的会话的所有项目
TimeOut
读/写
返回或设定Session对象变量的有效时间,当联机用户超过有效时间没有动作,Session对象便失效。默认值为20分钟。单位是分钟
2. Session对象的方法
方法
说明
Abandon
销毁Session对象并释放它所占用的资源,调用此方法将触发OnEnd事件
Add(name,value)
新增一个名称为name,值为value的Session对象变量
Clear
清除所有的Session对象变量
CopyTo(array,index)
复制Session对象的变量集合到Array指定的数组
Remove(name)
以变量名称来移除变量
RemoveAll
清除所有的Session对象变量
RemoveAt(index)
删除Contents集合中下标为index的变量
 
3.Session对象的事件
    OnStart:当浏览器第一次访问ASP.NET网页时,创建Session对象并触发该事件。对同一浏览器,该事件只触发一次,除非发生OnEnd事件或重启浏览器访问ASP.NET网页,否则不会再触发该事件。
OnEnd:在Timeout属性所设置的时间内没有再访问网页,或者调用了Abandon方法都会触发该事件。
4.Session对象的生命周期
    Session对象的生命周期始于用户第一次连接到网页,在以下情况之一发生时结束:
    1).关闭浏览器
    2).断开与服务器的连接
    3).浏览者在Timeout属性规定的时间内未与服务器联系
5.
   
    If session(“name”)=nothing then   /If(Session["Sex"]==null){…}
        Session(“name”)=”cbw”
        Response.redirect(“/”)                ‘转向网站首页
    End if
六.Server对象
名称
方法/属性
说明
MachineName
属性
机器名
ScriptTimeout
属性
说明页面在超时之前可以运行多长时间
CreateObject
方法
创建一个对象
Execute
方法
用于执行一个子例程或存储过程
GetLastError
方法
检索最后一次发生的错误
HTMLEncode
方法
用于把所有的标记字符转换成等价的没有功能的字符 
HtmlDecode
方法
用于把所有的标记字符转换成等价的Html字符
MapPath
方法
得到一个文件的目录路径
Transfer
方法
把原来页面的内置对象的值和对象的状态传递给新的页面
URLEncode
方法
把URL中所有的特殊字符转化成对应的非功能等价内容
URLDecode
方法
URLEncode的逆操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值