ASP.NET(C#)网页跳转七种方法详解
需积分: 50 17 浏览量
更新于2024-09-08
收藏 21KB DOCX 举报
ASP.NET(C#)网页跳转七种方法小结
在 ASP.NET 中,经常需要页面的跳转,下面是具体的七种方法。跳转页面是大部编辑语言中都会有的,正面我们来分别介绍一下关于 .NET 中 Response.Redirect、Server.Execute、Server.Transfer 三种页面跳转的方法。
Response.Redirect
Response.Redirect 是一种最基本的跳转方法,它可以跳转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪)。但是,它的跳转速度不快,因为它要走 2 个来回(2 次 postback),同时不能跳过登录保护。但速度慢是其最大缺陷!
Redirect 跳转机制:首先是发送一个 HTTP 请求到客户端,通知需要跳转到新页面,然后客户端在发送跳转请求到服务器端。需要注意的是跳转后内部空间保存的所有数据信息将会丢失,所以需要用到 Session。
以下是一个使用 Response.Redirect 的示例代码:
```csharp
using System;
using System.Web.UI;
namespace WebApplication1
{
public partial class List : Page
{
protected void Page_Load(object sender, EventArgs e)
{
// Get response.
var response = base.Response;
// Redirect temporarily.
// Don't throw an HttpException to terminate.
response.Redirect("http://www.jb51.net", false);
}
}
}
```
Server.Execute
Server.Execute 是一种服务器端跳转方法,它可以跳转到相同的应用程序中任何页面。这种方法的优点是速度快,跳转后可以保留内部空间保存的所有数据信息。但是,它不能跳转到外部站点,也不能跳过登录保护。
以下是一个使用 Server.Execute 的示例代码:
```csharp
using System;
using System.Web.UI;
namespace WebApplication1
{
public partial class List : Page
{
protected void Page_Load(object sender, EventArgs e)
{
// Server.Execute("/NewPage.aspx", false);
}
}
}
```
Server.Transfer
Server.Transfer 是一种服务器端跳转方法,它可以跳转到相同的应用程序中任何页面。这种方法的优点是速度快,跳转后可以保留内部空间保存的所有数据信息。但是,它不能跳转到外部站点,也不能跳过登录保护。
以下是一个使用 Server.Transfer 的示例代码:
```csharp
using System;
using System.Web.UI;
namespace WebApplication1
{
public partial class List : Page
{
protected void Page_Load(object sender, EventArgs e)
{
// Server.Transfer("/NewPage.aspx");
}
}
}
```
其他四种跳转方法
除了上述三种方法外,还有四种其他的跳转方法:
* Response.RedirectPermanent:它与 Response.Redirect 相似,但它会返回一个永久跳转的状态码(301)。
* Response.RedirectToRoute:它可以跳转到指定的路由。
* Server.TransferRequest:它可以跳转到相同的应用程序中任何页面,同时可以保留内部空间保存的所有数据信息。
* HttpContext.RewritePath:它可以跳转到相同的应用程序中任何页面,同时可以保留内部空间保存的所有数据信息。
ASP.NET 中有七种不同的跳转方法,每种方法都有其优缺点,开发者可以根据实际情况选择合适的跳转方法。
2021-01-02 上传
2021-01-01 上传
2021-01-20 上传
2008-11-13 上传
2010-06-01 上传
2020-10-29 上传
2009-10-10 上传
冬天里的雾霾
- 粉丝: 0
- 资源: 4
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载