⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 asp05.htm

📁 VB.NET网络编程指南 书籍语言: 简体中文 书籍类型: 程序设计 授权方式: 免费软件 书籍大小: 1.19 MB
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>基本对象编程</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body>
<p align="center">第5章 基本对象编程</p>
<p>5.1 ASP.NET对象概述<br>
  语法:对象名.属性名<br>
  上述语法为访问对象属性的格式。<br>
  语法: 对象名.方法名(参数表) <br>
  上述语法为访问对象方法的格式 。<br>
  语法: 对象名_事件名(参数表) 或 事件名(参数表) <br>
  上述语法为对象事件处理的定义。<br>
  ASP.NET事件的处理过程都有以下二个参数:<br>
  (1) sender As Object <br>
  (2) e As EventArgs <br>
  ASP.NET内置的对象主要有七个,如下表所示。 </p>
<p align="center"><img src="image/slide5image001.PNG" width="515" height="328"></p>
<p>5.2 Page对象<br>
  5.2.1 Page对象的属性 Page对象的常用属性列于下表中。</p>
<p align="center"><img src="image/slide5image002.PNG" width="577" height="198"><br>
  <img src="image/slide5image003.PNG" width="581" height="428"></p>
<p>5.2.2 Page对象的方法&nbsp; Page对象的方法较多,表列出了常用的方法。</p>
<p align="center"><img src="image/slide5image004.PNG" width="576" height="135"><br>
  <img src="image/slide5image005.PNG" width="577" height="407"></p>
<p>5.2.3 Page对象的事件 Page对象的事件列于表中,最主要的事件是Init、Load和UnLoad。</p>
<p align="center"><img src="image/slide5image006.PNG" width="600" height="295"></p>
<p>5.2.4 Web控制事件 ASP.NET中事件的触发次序如图所示。</p>
<p align="center"><img src="image/slide5image007.PNG" width="351" height="257"></p>
<p>5.3 Response对象 Response对象的主要作用是输出数据到客户端,常用属性列于表, Response对象的常用方法列于表。</p>
<p align="center"><img src="image/slide5image008.PNG" width="601" height="249"><br>
  <img src="image/slide5image009.PNG" width="599" height="308"></p>
<p>5.3.1 使用缓冲区(Buffer) <br>
  以下是一个操作缓冲区的程序示例: <br>
  &lt;HTML&gt; <br>
  &lt;%Response.Write(&quot;清除之后的数据&lt;BR&gt;&quot;)%&gt; <br>
  &lt;SCRIPT Language=&quot;VB&quot; Runat=&quot;Server&quot;&gt; <br>
  Sub Page_Load(Sender As Object,e As Eventargs)<br>
  Response.Write(&quot;清除缓冲区之前的数据&quot; &amp; &quot;&lt;BR&gt;&quot;) <br>
  Response.Clear() 执行的结果 <br>
  End Sub <br>
  &lt;/SCRIPT&gt; <br>
  &lt;/HTML&gt; <br>
  接下来将上述程序代码中加入 “Response.BufferOutput=False”: <br>
  &lt;HTML&gt; <br>
  &lt;%Response.Write(&quot;清除之后的数据&lt;BR&gt;&quot;)%&gt;<br>
  &lt;SCRIPT Language=&quot;VB&quot; Runat=&quot;Server&quot;&gt;<br>
  Sub Page_Load(Sender As Object,e As Eventargs) <br>
  Response.BufferOutput=False<br>
  Response.Write(&quot;清除缓冲区之前的数据&quot; &amp; &quot;&lt;BR&gt;&quot;)<br>
  Response.Clear()<br>
  End Sub<br>
  &lt;/SCRIPT&gt;<br>
  &lt;/HTML&gt;<br>
  这段程序的执行结果如右图所示。可以发现执行的结果并没有因为使用Clear方法而将缓冲区的数据清除,这 表示数据是直接输出而没有存放在缓冲区内。<br>
  5.3.2检查使用者的联机状态 <br>
  【例】下列的程序代码执行可达100000次的循环,在循环中加入对IsClientConnection属性的判断操作;只要Client端离线就终止执行,而Client端的浏览器上也不会出现任何信息。<br>
  &lt;SCRIPT Language=&quot;VB&quot; Runat=&quot;Server&quot;&gt; <br>
  Sub Page_Load(Sender As Object,e As Eventargs)<br>
  &nbsp; Dim i As Long <br>
  &nbsp; For i=0 To 100000 <br>
  &nbsp;&nbsp; If Response.IsClientConnected=False <br>
  &nbsp;&nbsp; Then Response.End<br>
  &nbsp; Next<br>
  &nbsp; Response.Write(&quot;执行完毕&quot;) <br>
  End Sub <br>
  &lt;/SCRIPT&gt; <br>
  5.3.3直接输出文本文件 Response对象提供了一个直接输出文字文件的WriteFile方法。若所要输出的文件和执行的网页在同一个目录,只要直接传入文件名称就可以了;若不在同一个目录,则要指定详细的目录名称。 
  【例】以下程序将与本程序位于同一目录的文本文件“Output.txt”直接输出到网页上。<br>
  &lt;SCRIPT Language=&quot;VB&quot; Runat=&quot;Server&quot;&gt; <br>
  Sub Page_Load(Sender As Object,e As Eventargs)<br>
  &nbsp; Response.WriteFile(&quot;Output.txt&quot;) <br>
  End Sub <br>
  &lt;/SCRIPT&gt;</p>
<p>5.4 Request对象 Request对象的主要功能是让服务器端取得客户端浏览器的数据,表列出了常用的属性。 </p>
<p align="center"><img src="image/slide5image010.PNG" width="573" height="482"><br>
  <img src="image/slide5image011.PNG" width="574" height="156"><br>
  <img src="image/slide5image012.PNG" width="573" height="49"></p>
<p>Request对象的常用方法有以下两个:<br>
  &nbsp; (1) MapPath(virtualPath) <br>
  &nbsp; (2) SaveAs(filename,includeHeaders) <br>
  5.4.1读取表单数据 读取表单数据的方式有以下三种 <br>
  &nbsp; (1)使用Request的QueryString属性获取表单数据 <br>
  &nbsp; (2) 使用Request的Form属性获取表单数据 <br>
  &nbsp; (3) 使用Request对象的Param属性来获取表单数据在使用时还可以省略QueryString、Form、Param 属性来得到表单的数据。以下是使用Request对象获取表单数据的例子:<br>
  Request.Querystrng(&quot;username&quot;) '以Get方法传送表单数据,服务器端得到表单项username的值<br>
  Request.Querystrng(&quot;userID&quot;) '以Get方法传送表单数据,服务器端得到表单项userID的值Request.Form(&quot;username&quot;) 
  '以Post方法传送表单数据,服务器端得到表单项username的值Request.Form(&quot;userID&quot;) '以Post方法传送表单数据,服务器端得到表单项userID的值Request.Param(&quot;username&quot;) 
  '服务器端得到表单项username的值 <br>
  Request.param(&quot;userID&quot;) '服务器端得到表单项userID的值<br>
  Request(&quot;username&quot;) 省略属性,得到表单项username的值<br>
  Request(“userID”) ‘省略属性,得到表单项userID的值<br>
  5.4.2 MapPath方法<br>
  Request对象的MapPath方法接收一个字符串型的参数,执行以后传回目前网页在服务器上的实际路径。<br>
  【例】设文件MyWeb.mdb与本程序文件在同一个目录下,利用Response对象的 MapPath方法获得MyWeb.mdb的实际路径,并用Write方法输出。程序如下:<br>
  &lt;SCRIPT Language=&quot;VB&quot; Runat=&quot;Server&quot;&gt;<br>
  Sub Page_Load(Sender As Object,e As Eventargs)<br>
  &nbsp; Response.Write(Request.MapPath(&quot;MyWeb.mdb&quot;)) <br>
  End Sub<br>
  &lt;/SCRIPT&gt;<br>
  5.5 Server对象 <br>
  Server对象有以下两个属性:<br>
  (1) MachineName <br>
  (2) ScriptTimeout <br>
  表列出了Server对象的常用方法。</p>
<p align="center"><img src="image/slide5image013.PNG" width="588" height="408"></p>
<p>5.5.1 使用COM组件 <br>
  COM(Component Object Model)是一种对象的格式。创建COM组件语法:<br>
  对象变量 = Server.CreateObject(&quot;ProgId&quot;) <br>
  对象变量 = Server.CreateObjectStatic(&quot;ProgId&quot;) <br>
  对象变量 = Server.CreateObjectFromClsid(&quot;ClsId&quot;) <br>
  【例】建立一个可以存取文件的FileSystemObject对象,并读取文本文件TextFIle.txt,该文本文件内容为:hello world! 程序如下:<br>
  &lt;SCRIPT Language=&quot;VB&quot; Runat=&quot;Server&quot;&gt; <br>
  Sub Page_Load(Sender As Object,e As Eventargs) <br>
  &nbsp; Dim fsoA As Object <br>
  &nbsp; Dim Content As String <br>
  &nbsp; Dim objFile As Object <br>
  &nbsp; fsoA=Server.CreateObject(&quot;Scripting.FileSystemObject&quot;) <br>
  &nbsp; objFile=fsoA.OpenTextFile(Server.MapPath(&quot;TextFile.txt&quot;),1,False)<br>
  &nbsp; If Not objFile.AtEndOfStream Then <br>
  &nbsp;&nbsp; Content=objFile.ReadAll <br>
  &nbsp;&nbsp; Content=Replace(Content,Chr(13),&quot;&lt;Br&gt;&quot;) <br>
  &nbsp;&nbsp; Response.Write(Content) <br>
  &nbsp; End If<br>
  End Sub<br>
  &lt;/SCRIPT&gt; <br>
  上述程序建立一个名为fsoA的FileSystemObject对象,然后用fsoA对象的OpenTextFile方法来打开文本文件TextFile.txt。<br>
  5.5.2 HtmlEncode和HtmlDecode方法 <br>
  【例】下列程序使用Server对象的HtmlEncode方法将“&lt;B&gt;HTML内容&lt;/B&gt;”编码后输出至浏览器,再利用HtmlDecode方法将把编码后的结果译码还原:<br>
  &lt;SCRIPT Language=&quot;VB&quot; Runat=&quot;Server&quot;&gt;<br>
  Sub Page_Load(Sender As Object,e As Eventargs)<br>
  &nbsp; Dim strHtmlContent As String<br>
  &nbsp; strHtmlContent=Server.HtmlEncode(&quot;&lt;B&gt;HTML 内容&lt;/B&gt;&quot;)<br>
  &nbsp; Response.Write(strHtmlContent)<br>
  &nbsp; Response.Write(&quot;&lt;P&gt;&quot;)<br>
  &nbsp; strHtmlContent=Server.HtmlDecode(strHtmlContent)<br>
  &nbsp; Response.Write(strHtmlContent)<br>
  End Sub<br>
  &lt;/SCRIPT&gt; <br>
  5.5.3 UrlEncode和UrlDecode方法<br>
  【例】下列程序使用两个HtmlAnchor对象来比较编码传递和未编码的结果,传递的参数内容是“a# @ #b”。<br>
  &lt;HTML&gt;<br>
  &lt;A Href=&quot;http://localhost/2.aspx?data1=a# @ #b&quot;&gt;未编码的参数内容&lt;/A&gt;<br>
  &lt;BR&gt;<br>
  &lt;A Href=“http://localhost/2.aspx?data1=&lt;%Response.Write(Server.UrlEncode(”a# 
  @ #b“))%&gt;”&gt;<br>
  编码过的参数内容<br>
  &lt;/A&gt; <br>
  &lt;/HTML&gt;<br>
  可见对URL地址中的特殊字 符需进行编码才可正确传递。<br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -