【发布时间】:2011-02-10 16:48:20
【问题描述】:
如何使用Server.Transfer() 重定向到当前显示的同一页面?
我想在提交后有一个清除的表单。
我可以使用哪些其他/更好的方法来实现相同的目标?
【问题讨论】:
-
如果您只想在提交后清除表单,那么最后只需清除您代码中的所有字段值,而不是重定向到同一页面
如何使用Server.Transfer() 重定向到当前显示的同一页面?
我想在提交后有一个清除的表单。
我可以使用哪些其他/更好的方法来实现相同的目标?
【问题讨论】:
为什么是Server.Transfer? Response.Redirect(Request.RawUrl) 会给你你所需要的。
【讨论】:
http://en.wikipedia.org/wiki/Post/Redirect/Get
在 ASP.Net 中实现这种模式最常见的方法是使用 Response.Redirect(Request.RawUrl)
考虑differences between Redirect and Transfer。 Transfer 并不是告诉浏览器转发到一个清晰的表单,它只是返回一个清晰的表单。这可能是你想要的,也可能不是。
Response.Redirect() 不会浪费往返。如果您发布到通过 Server.Transfer() 清除表单并重新加载的脚本,大多数浏览器都会要求您重新发布,因为最后一个操作是 HTTP POST。这可能会导致您的用户无意中重复某些操作,例如。下第二个订单,以后必须作废。
【讨论】: