第四章.命名空间
一.命名空间
1.定义命名空间的方法
Namespace NamespaceName
End Namespace
2.声明命名空间
imports NamespaceName
二.类库
1.类库和基类
命名空间
|
服务类型
|
System.Data
|
处理数据和数据库
|
System.XML
|
处理XML数据
|
System.Diagnostics
|
用于在出现问题的时候诊断问题
|
System.Globalization
|
用于创建全球的Web站点
|
System.NET
|
网络和Internet功能
|
System.Collections
|
集合(基类库)
|
System.IO
|
用于进行文件处理(基类库)
|
System.Threading
|
用于创建快速、有效、多线程的应用程序(基类库)
|
System.Reflection
|
用于加载装配件、载装配件中检测类型、创建类型(基类库)
|
System.CodeDom
|
用于生成源文件(基类库)
|
System.Drawing
|
用于创建图形
|
System.Security
|
安全
|
System.Web
|
用于构建Web站点
|
System.Web.UI
|
用于构建Web页的控件
|
2.集合(数组)
1).传统创建数组
<%
Dim aryName(3) as String
aryName(0)=”jim”
arrName(1)=”cindy”
aryName(2)=”cathy”
Response.write(aryName(1))
%>
2).使用.NET的System.Array命名空间定义数组
例1:创建数组
<%
Dim aryName as Array=Array.CreateInstance(GetType(string),3) ‘所有元素都是string;数组长度为3
aryName.SetValue(“jim”,0)
aryName.SetValue(“cindy”,1)
aryName.SetValue(“cathy”,2)
Response.Write(aryName.GetValue(1))
%>
注:
①.CreateInstance:用于初始化数组的新实例
②.SetValue:用于按指定的下标设置元素的值
③.GetValue:用于按指定的下标获取元素的值
例2:搜索数组中某个特定值的元素的下标
<%
Dim aryName as Array=Array.CreateInstance(GetType(string),3) ‘所有元素都是string;数组长度为3
aryName.SetValue(“jim”,0)
aryName.SetValue(“cindy”,1)
aryName.SetValue(“cathy”,2)
Response.Write(Array.IndexOf(aryName,”cindy”)) ‘搜索值为值为”cindy”的元素下标
Response.Write(Array.IndexOf(aryName,” cathy”,2)) ‘从下标为2的元素开始搜索
%>
注:
①. IndexOf :为从小下标开始搜索,并返回第一个匹配的元素下标 ‘返回最小下标
②. LastIndexOf :为从小下标开始搜索,并返回最后一个匹配的元素下标 ‘返回最大下标
例3:重新排列数组中的元素
<%
Dim aryName as Array=Array.CreateInstance(GetType(string),3) ‘所有元素都是string;数组长度为3
aryName.SetValue(“jim”,0)
aryName.SetValue(“cindy”,1)
aryName.SetValue(“cathy”,2)
Array.Reverse(aryName)
For inti=0 to 2
Response.Write(aryName(inti)&”<br>”)
Next
Array.Sort(aryName)
For inti=0 to 2
Response.Write(aryName(inti)&”<br>”)
Next
%>
注:
①. Reverse :实现数组元素的倒排
②. Sort :实现数组元素按A-Z的排列
3).ArrayList
<script language=”vb” runat=”server”>
Dim arylstName as New ArrayList
Sub show
Dim inti as Integer
For inti=0 to arylstName.Count-1
Response.Write(arylstname(inti)&” ”)
Next
Response.Write(“<br>”)
End Sub
</Script>
<%
arylstName.Add(“jim”)
arylstName.Add(“cindy”)
arylstName.Add(“cathy”)
show
arylstName.Insert(2.”Mike”)
show
arylstName.Remove(“Linda”)
show
arylstName.RemoveAt(2)
show
%>
注:可以绑定到DropDownList、ListBox、CheckBoxList、RadioButtonList、Repeater、DataList、DataGrid等控件上
①. Add :向ArrayList中增加元素
②. Insert :在ArrayList的某个特定位置插入元素
③. Remove :删除ArrayList中的某个元素
④. RemoveAt :删除ArrayList中的某个特定位置的元素
⑤. IndexOf :返回ArrayList中某个元素的索引
⑥. Reverse :将ArrayList中的元素倒排
⑦. Sort :将ArrayList中的元素排序
⑧. Count :返回ArrayList中有多少个元素
4).HashTable
<%
Dim hashtab as New HashTable
Dim item as DictionaryEntry 'DictionaryEntry为字典类型
hashtab("0101")="jim"
hashtab("3030")="cindy"
hashtab("2020")="cathy"
hashtab.add("1","cbw")
hashtab.add("2","gh")
For Each item In hashtab
Response.Write(Cstr(item.Key)&" "&Cstr(item.Value)&"<br>") 'Key表示键值,Value表示元素的值
Next
%>
显示:
2020 cathy
2 gh
1 cbw
0101 jim
3030 cindy
5).SortedList
<%
Dim slist as New SortedList
Dim item as DictionaryEntry 'DictionaryEntry为字典类型
slist("0101")="jim"
slist("3030")="cindy"
slist("2020")="cathy"
slist.add("1","cbw")
slist.add("2","gh")
For Each item In slist
Response.Write(item.Key+" "+item.Value+"<br>") 'Key表示键值,Value表示元素的值
Next
%>
显示:
0101 jim
1 cbw
2 gh
2020 cathy
3030 cindy
3.目录和文件的处理
1).System.IO命名空间中用于处理目录和文件的类
类名
|
说明
|
Directory
|
用于处理逻辑驱动器和目录
|
DirectoryInfo
|
用于处理目录及其子目录
|
File
|
处理文件
|
FileInfo
|
处理文件的内容
|
Stream
|
从存储器中读写数据的基类
|
StreamReader
|
用流从存储器中读字符
|
StreamWriter
|
用流向存储器中写字符
|
TextReader
|
读取字符
|
TextWriter
|
写入字符
|
BinaryReader
|
从流中读取数据
|
BinaryWriter
|
向流中写入数据
|
FileStream
|
在文件系统中读写数据
|
MemoryStream
|
在存储缓冲区中读写数据
|
2).目录的处理
例1:显示当前所有驱动器
<%@Import NameSpace="system.io"%> '声明 命名空间
<%
Dim dir as Directory
Dim item as String
For Each item In dir.GetLogicalDrives '返回由所有驱动器符号字符串组成的数组
Response.Werte(item&"<br>")
Next
%>
例2:显示一个驱动器的所有目录的所有内容
<%@Import NameSpace="system.io"%> '声明 命名空间
<%
Dim subdir as String
Dim file as String
For Each subdir in Directory.GetDirectories("d:/") '显示d:/的所有目录
Response.Write(subdir)
Response.Write("<br>")
Next
Response.Write("============分隔符1===========<br>")
For Each subdir in Directory.GetDirectories("d:/","*s*") '显示d:/中所有带"s"字符的目录
Response.Write(subdir) '*为任意字符串,?为任意字符
Response.Write("<br>")
Next
Response.Write("============分隔符2===========<br>")
For Each subdir in Directory.GetFiles("d:/") '显示d:/所有文件
Response.Write(file)
Response.Write("<br>")
Next
Response.Write("============分隔符3===========<br>")
For Each subdir in Directory.GetFiles("d:/","*x*") '显示d:/所有带"x"文件
Response.Write(file)
Response.Write("<br>")
Next
Response.Write("============分隔符4===========<br>")
%>
例3:判断一个目录是否存在
<%@Import NameSpace=
"
system.io
"
%>
<%
Dim dir as DirectoryInfo
Dir=New DirectoryInfo(
"
d:/webbook
"
)
If dir.Exists then
'测试一个目录是否存在
Response.Write(
"
存在
"
)
Else
Response.Write(
"
不存在
"
)
End If
%>
例4:设置和获取当前目录
<%@Import NameSpace=
"
system.io
"
%>
<%
Dim dir as Directory
Dir.SetCurrectDirectory(
"
d:/webbook
"
)
Response.Write(dir.GetCurrectDirectory)
%>例5:创建和删除目录
<%@Import NameSpace=
"
system.io
"
%>
<%
Dim dir as Directory
Dim dirinfo as New DirectoryInfo(
"
d:/webbook/temp
"
)
If not dirinfo.Exists Then
Dir.CreateDirectory(
"
d:
/
webbook/temp
"
)
End If
Dim dirnewinfo as New DirectoryInfo(
"
d:/webbook/temp
"
)
Response.Write(dirnewinfo.Exists)
If dirnewinfo.Exists Then '如果存在
Dirnewinfo.Delete
'删除该目录
End If
%>
3).文件的处理
例1:删除一个文件
<%@Import NameSpace=”system.io”%>
<%
Dim fil as File
fil.Delete(“d:/webbook/temp/a.txt”)
%>
例2:打开一个文件并显示文件的内容
<%@Import NameSpace=”system.io”%>
<%
Dim fil as File
Dim myfile as StreamReader
Dim strtemp as String
Myfile=fil.OpenText(Server.MapPath(“a.txt”))
Strtemp=myfile.ReadLine()
Do While not strtemp=Nothing
Response.Write(strtemp&”<br>”)
Strtemp=myfile.ReadLine()
Loop
Myfile.Close() ‘关闭这个文件
%>
例3:向文件里写入数据
<%@Import NameSpace=”system.io”%>
<%
Dim fil as File
Dim myfile as StreamWriter
Dim strtemp as String
Myfile=fil.CreateText(Server.MapPath(“b.txt”))
Myfile.WriteLine(“hell worle.”)
Myfile.WriteLine(“I’m Cindy King”)
Myfile.Close()
%>
三.Page类(P216)
四.事件驱动(P130)
1.事件属性
1).Page_Init事件:页面初始化时触发
2).Page_Load事件:页面被浏览器读入时触发
3).控件事件
4).Page_Unload事件:页面处理完成时触发
5).PreRender事件:将在数据写入浏览器之前发生
6).Error事件:页面处理出现错误时发生
7).CommitTransaction事件:事务开始时发生
8).AbortTransaction事件:事务取消时发生
9).属性:Page.IsPostBack:当一个页面第一次执行时,为False否则不True
2.ASP.NET中可以响应的事件
事件名称
|
说明
|
OnLoad
|
当控件加载到窗体的时候发生
|
OnUnload
|
当控件从窗体上删除的时候发生
|
OnClick
|
当单击按钮控件的时候发生
|
OnInit
|
当初始化控件的时候发生
|
OnPrerender
|
在显示控件之前发生
|
SelectIndexChanged
|
当控件内容发生变化的时候发生
|
CheckChanged
|
当控件内容发生变化的时候发生
|