将用户重定向到另一页的几种方法
您经常需要将用户重定向到 Web 应用程序的其他页。ASP.NET 提供了下列在网页中生成重定向的方式:
-
在页上使用超链接
-
配置跨页发送,它使您能够在提交当前页时指定备用目标页。
-
通过强制浏览器请求另一页,以编程方式重定向。
-
通过向同一 Web 应用程序中的另一页传输控件,以编程方式重定向。
下面对每一选项分别进行描述。本主题结尾处的表对这些选项进行了汇总,并提供帮助您确定何时使用各个选项的指导原则。
超链接
可以在 ASP.NET 网页上使用 HTML 定位点标记 (<a>
) 来创建静态链接,也可以通过使用
跨页发送
默认情况下,ASP.NET 网页中的按钮将该页发送到该页本身。跨页发送使您能够在 ASP.NET 网页上配置一个按钮,以便将当前页发送到另一页上。典型的示例是在创建多页窗体时,您可以在页上配置按钮来移动到窗体的下一页和上一页。
跨页发送与超链接的类似之处在于通过用户操作来启动传输。但是,在跨页发送中,目标页是使用 HTTP POST 命令调用的,该命令会将源页上控件的值发送到目标页。此外,如果源页和目标页位于同一 Web 应用程序中,则目标页可以访问源页的公共属性。应用程序中的所有页始终可以共享会话状态或应用程序状态中存储的信息。
使用浏览器以编程方式重定向
可以通过调用
在服务器上以编程方式重定向
也可以通过调用
由于源页和目标页之间的传输在服务器上进行,浏览器没有任何关于更改后的页的信息,它仍保留有关原始(源)URL 的信息。例如,Internet Explorer 中的“地址”框在执行传输后不会发生变化,而是继续显示最近请求的页(通常为源页)的 URL。也不会更新浏览器的历史记录以反映传输过程。如果用户在浏览器中刷新页面或单击浏览器的“后退”按钮,这可能导致意外行为。因此,对于以隐藏 URL 的方式向用户呈现页面的应用程序而言,调用 Transfer 方法是一种最佳的策略。
选择重定向选项
下表汇总了在页间进行重定向的可能方式。
策略 | 特征 | 用法 |
---|---|---|
超链接 |
|
|
跨页发送 |
|
|
浏览器重定向 |
|
|
服务器传输 |
|
|