将访问者从一个webform发送到其他webform的正确方法是什么

时间:2011-03-21 23:39:09

标签: c# asp.net webforms

将访问者从一个网络表单发送到其他网页的正确方法是什么。它们的局限性和加分是什么。请解释一下。

2 个答案:

答案 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()正在劫持当前请求并将控制权交给不同的页面而浏览器不知道它。它们看似相似,但这是一个巨大的差异......