将访问者从一个网络表单发送到其他网页的正确方法是什么。它们的局限性和加分是什么。请解释一下。
答案 0 :(得分:2)
一种方法是提供用户必须点击的链接:
<a href="Step2.aspx">Next Step</a>
这将用户直接发送到第2步,没有任何机会在/ /
之间做任何事情另一种方法是简单地重定向响应:
Response.Redirect ("Step2.aspx");
这将直接将用户发送到第2步,通常在进入第2步之前需要进行某些处理时使用。
您还可以使用元标记重定向
<meta http-equiv="refresh" content="2; url=Step2.aspx">
当需要延迟时,这是通常的方法。当前表单只显示“已接受”消息,然后指向新页面。
设置表单元素的action属性是另一种选择:
<form id="form1" runat="server" action="Step2.aspx">
当第二步使用从第一步发布的一些数据时,通常会使用此方法。
我确信还有很多其他方法,但这些是我使用的几种常见方法。
答案 1 :(得分:1)
最大的问题是“发送”是什么意思? @Fun Mun Pieng涵盖重定向,如果你想给用户提供与点击链接和访问不同网页形式相同的体验,这是正确的做事方式。
但是,如果您想要保留所有表单值,有效地回发到其他网络表单,那么您需要查看Server.Transfer("redirectForm.aspx")
。它与Response.Redirect("redirectForm.aspx")
的不同之处在于你正在操纵的对象。 Response.Redirect()正在向浏览器发送一条指令作为响应,指示它为不同的资源提出单独的请求。 Server.Transfer()正在劫持当前请求并将控制权交给不同的页面而浏览器不知道它。它们看似相似,但这是一个巨大的差异......