只是想知道ASP做服务器有什么限制。转移两个级别?所以页面转移到另一个页面,然后转移到另一个页面。
这是我们目前的设置。为了取悦搜索引擎优化,我们创建了包含关键字的“虚假”网址。然后,我们有一个404错误处理程序(IIS)选择这些,重定向到另一个ASP页面,从URL中提取一些关键信息,并执行Server.Transfer到我们的“真实”页面。由于本文范围之外的原因,我需要从此页面进一步创建Server.Transfer。我们现在所在的页面需要设置页面标题。
这可能吗?
答案 0 :(得分:1)
你想要的肯定是可能的。
当然,存在一些限制......但是,限制不在于您计划以菊花链形式连接的服务器传输数量......只是确保您最终不会造成恶性循环:)
限制如下; server.transfer(以及server.execute也是如此)无法访问上一页的变量上下文。
所以如果你在page1中设置一个变量say Age = 50而page1将server.transfer设置为page2,那么不要指望page2知道有关Age变量声明的任何内容。由page1设置。实际上,您甚至可以在第2页中对同一个变量(Age)进行Dim,您将不会收到错误。这是因为.transfer'ed和.execute'd页面都不像[! - include ...]文件那样工作......
那该怎么办?如何使用server.transfer在您计划以菊花链方式链接的页面之间共享信息?答案是使用会话变量!这是一种有效的方式..(当然你可能会不遗余力地写入数据库或文本文件,但为什么呢?)
你的page2和page3可以从原始page1共享的唯一另一件事是查询字符串,并且发布& cookie数据!这些请求集合仍然可以在已传输(或已执行)的页面中使用。这意味着如果原始页面(page1)被命名为page1.asp,则可以在page2和page3中执行请求(“年龄”)?age = 99
无论如何,回到你的组织。问题......你想要的是肯定可行的...... 只是不要在page1中设置任何变量,只需使用会话变量......
并且在最后一页完成后不要忘记清理会话变量。
希望这可以帮助你...