专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Asp教程 » 页面重定向:实现页面重定向 »正文

页面重定向:实现页面重定向

来源: 发布时间:星期四, 2008年9月25日 浏览:69次 评论:0
用Redirect方法可将浏览器重定向到另一个URL,而不是将内容发送给用户。例如,如果您想确认用户是否已从主页进入了您的应用程序,以便能收到一个客户ID,则可以检验他们是否有客户ID号;如果没有,就可以将其重定向到主页。以下就是具体例子:


<%IfSession(\"CustomerID\")=0Then Response.Redirect\"homepage.asp\"EndIf%>

  除非缓冲区已经打开,否则,在任何内容或标题返回给浏览器之前,您必须重定向浏览器。将Response.Redirect语句放在页的顶部和<HTML>标记之前可确保没有任何内容返回给浏览器。如果在返回给浏览器的内容或标题后使用Response.Redirect,将看到一个错误信息。

  如果在页的中间使用Response.Redirect,请将其与Response.Buffer属性一起使用,这是因为在默认情况下,Web服务器返回HTML和在处理ASP页时的脚本处理结果。但是,您可以设置Response对象的Buffer属性以便在向用户发送任何内容之前,先处理页上的所有的服务器脚本命令。

  可以使用缓冲技术来确定在页处理过程中的某个点,而您并不想将该点之前的内容发送给用户。也可以用Response对象的Redirect方法将用户重定向到另一页,或者用Response对象的Clear方法清除缓冲区并将不同的内容发送给用户。下面的例子使用了以上两种方法。

  例子一:


<%\'下一句程序必须放在程序在<HTML>标识符前Response.Buffer=True%><html><body>...
例子二:
<%IfRequest(\"FName\")=\"\"Then Response.Clear Response.Redirect\"../test.html\"Else Response.WriteRequest(\"FName\")EndIf%></body></html>

  以上就是Response对象的在程序中经常用到的功能。

  Server对象有那些属性方法以及怎样使用

  Server对象提供对服务器访问的方法和属性。其中大多数方法和属性是作为实用程序的功能提供的。
Server对象有哪些基本属性和方法?

  (1).语法:
   Server.property|method
  (2).属性(property)
   Server对象只有一个属性:ScriptTimeout程序能够运行的最大时间
  (3).方法(Methods)
   CreateObject建立一个对象实例.
   Execute执行一个asp文件
   GetLastError返回一个错误代码
   HTMLEncode对指定的HTML代码进行转换.
   MapPath将一个相对路径转化为一个绝对路径.
   Transfer将当前的所有状态信息发送给另一个asp文件
URLEncode以URL形式转化指定的代码,包括空格

  如何使用Server对象的属性和方法?

  (1).CreateObject

   语法
   Server.CreateObject(progID)
   参数
    progID
    指定要创建的组件名称,格式如下:[Vendor.]Component[.Version]。
   要点:
    一般来说,用由Server.CreateObject方法创建的对象的生存期在该页面范围内。这就说,当这页的asp程序执行完后,这个对象会自动地消失。

  为了创建一个拥有Session或Application范围的对象,你就要在Global.asa文件中使用CreateObject方法

  (2).Execute

  Execute方法是呼叫一个ASP文件并且执行它,像被呼叫的ASP文件存在这个ASP文件中一样。这很与许多语言中的类的调用相似。
  语法
    Server.Execute(Path)
  参数
    Path
  指定将执行的那个asp文件的路径。如果它是一个相对路径,那么它必须是一个和这个ASP应用程序相同的地方(目录)的文件。

  讲解
  Server.Execute方法提供了一个将复杂ASP应用程序分化为小块单位来执行的方法。通过这种方法,你能够建一个ASP图书馆,你能够随便在你需要时调用你图书馆中的ASP文件。

  当IIS根据指定的ASP文件路径执行完这个ASP文件之后,就会自动返回以前的ASP文件。这个刚刚执行完的ASP文件有可能改变了HTTPhead。但是和其它的ASP文件一样,当程序试图改变httphead时,就会报错!

  这个path参数可以包括一个询问信息。

  如果在被呼叫和呼叫的ASP文件中都含有相同的子函数,那么这些子函数只在本ASP文件中起作用。举个例子,如果在下面的ASP1和ASP2两个文件中都含有放弃程序的子函数。首先ASP1呼叫ASP2,那么ASP2中的的OnTransactionAbort开始执行,当ASP2执行完毕,ASP1中的OnTransactionAbort才开始执行。


  ASP1:
<%@Transaction=Required%><% Server.Execute(\"Page22.asp\") SubOnTransactionAbort SubOnTransactionCommit%>
  Asp2.asp:
<%@Transaction=Required SubOnTransactionAbort SubOnTransactionCommit%>
 例子:
ASP1
<%Response.Write(\"IamgoingtoexecuteASP2\")Server.Execute(\"/myasps/asp2.asp\")%>
ASP2
<%Response.Write(\"HereIam\")%>

  (3).GetLastError方法

  GetLastError方法返回一个ASPErrorObject来描述一个错误信息.这个方法只适用于在asp文件发送任何内容给用户机之前.
  语法
   Server.GetLastError()
  要点:
  如果一个500;100用户错误已经被定义在一个asp应用程序中,它是指的一个以.asp为后缀的文件。这种情况下,在这个程序运行时当一个错误发生时,服务器就会自动的以Server.Transfer这种方式传送到这个正在执行的ASP页面。ASP应用程序就会将有效的处理这个错误。另外,这个ASPErrorObject一定要有效,这样你就能够看到服务器提供给你的错误信息来改这个文件了!

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: