只是想知道做一个Server.Transfer两级的ASP有什么限制?因此,一个页面转移到另一个页面,然后再转移到另一个页面。
这是我们当前的设置。为了取悦SEO,我们创建了包含关键字的“假”URL。然后我们有一个404错误处理程序(IIS)拾取这些信息,重定向到另一个从URL中提取一些关键信息的ASP页面,并执行一个Server.Transfer到我们的“真正”页面。由于超出本文范围的原因,我需要从这个页面做一个进一步的Server.Transfer。我们现在所在的页面需要设置页面标题。
这个是可能的吗?
发布于 2012-02-10 07:55:36
你想要的当然是可能的。
当然,也有一些限制...但是,限制并不是你计划进行菊花链的服务器传输的数量。只需确保您不会最终造成一个恶性循环:)
限制如下: server.transfer ( server.execute也是如此)不能访问上一页的变量上下文。
因此,如果您设置了一个变量,比如page1中的Age=50,并且page1对page2执行server.transfer,那么就不要指望page2知道任何关于page1声明和设置的年龄变量的信息。事实上,你甚至可以在page2中调暗相同的变量(年龄),你不会得到一个错误。这是因为,.transfer‘’ed和.execute'd页面的工作方式都与!--include...文件...
那该怎么办呢?您如何在计划使用server.transfer以菊花链形式链接的页面之间共享信息?答案是使用会话变量!这是一种有效的方法..(当然,您可能会不厌其烦地写入数据库或文本文件,但为什么呢?)
您的page2和page3可以与原始page1共享的唯一另一件事是查询字符串和post & cookie数据!这些请求集合仍将在已传输(或已执行)页面中可用。这意味着如果原始页面( page1)被命中为page1.asp?age=99,那么您可以在page2和page3中执行请求(“age
不管怎样,回到你的组织。问题是..。你想要的当然是可行的.
只是不要在page1中设置任何变量,只需使用会话变量即可。
在最后一页上完成后,不要忘了清理会话变量。
希望这能帮到你。
https://stackoverflow.com/questions/9210871
复制相似问题