我有一个动态呈现数据输入表单的简单表单,用户进行回发并将结果保存到数据库中。我已经创建了一个新版本的表单,并根据数据库的一些信息,当用户请求旧表单的URL时,我想做一个Server.Transfer到新的* .aspx页面来生成页面和处理回发。由于页面的URL不会改变,这是否意味着回发被发送到原始页面?我是否需要检查它是否是回发,如果是,那么调用Server.Transfer并允许将表单数据转移到新页面?
答案 0 :(得分:5)
这取决于“获取”回发的含义。第一页将获得当前发布的表单值,因为它们是从客户端发送的。但是,第一页对回发信息的响应程度取决于生命周期中何时启动Server.Transfer。如果它在生命周期中非常晚(如点击处理程序),那么第一页将完全经历整个回发过程。
Server.Transfer中的optional parameter to preserve form values指示第二页是否也对请求作出反应,就好像它是回发一样。
答案 1 :(得分:1)
在Server.Transfer之后查看页面的HTML源代码。如果表单的操作是新的ASPX,那么你没事。
使用常规重定向可能更容易。这样你就不会遇到这些问题。