iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >ASP.NET Core中如何实现重定向详解
  • 853
分享到

ASP.NET Core中如何实现重定向详解

重定向ASP.NETnetcoreASP 2022-06-07 22:06:16 853人浏览 独家记忆
摘要

前言 ASP.net core 是一个跨平台,开源的,轻量级的,模块化的,用于构建高性能的 WEB 开发框架, ASP.net core mvc 内置了多种方式将一个 requ

前言

ASP.net core 是一个跨平台,开源的,轻量级的,模块化的,用于构建高性能的 WEB 开发框架, ASP.net core mvc 内置了多种方式将一个 request 请求跳转到指定的url,这篇文章我们就来讨论如何去实现。

理解 RedirectActionResult

ASP.Net Core MVC 中内置了几种 Redirect,比如说:RedirectResult, RedirectToActionResult, RedirectToRouteResult 和 LocalRedirectResult,这些类都继承于 ActionResult 并可给前端返回 Http 302,Http 301,Http 307 和 Http 308 这些状态码。

接下来的文章中我们就来看看如何使用这些类。

使用 RedirectResult

可以使用下面任何一个方法来返回 RedirectResult。

Redirect 返回 Http 状态码为 302 RedirectPermanent 返回 Http 状态码为 301 RedirectPermanentPreserveMethod 返回 Http 状态码为 308 RedirectPreserveMethod 返回 Http 状态码为 307

具体状态码代表什么意思,大家可查专业资料,下面的代码展示了如何使用这些方法。


Redirect("/Home/Index");
RedirectPermanent("/Home/Index");
RedirectPermanentPreserveMethod("/Home/Index");
RedirectPreserveMethod("/Home/Index");

如果你被这些方法搞蒙圈了,可以直接使用 RedirectResult ,然后通过 permanent 和 preserveMethod 两个参数去调节返回什么样的 Http 状态码即可, 代码如下所示:


public RedirectResult Index()
{
 return new RedirectResult(url: "/Home/Index", permanent: true, preserveMethod: true);
}

值得注意的是,Redirect 方法也可以将请求导向一个指定的url地址上,比如下面这样:


public RedirectResult Index()
{
 return Redirect("https://Google.com");
}

接下来简单了解一下继承关系: HomeController 继承了 Controller ,后者又继承了 ControllerBase 并实现了 IActionFilter, IFilterMetadata, IAsyncActionFilter, 和 IDisposable 接口,如下代码所示:


public class HomeController : Controller
{
}
public abstract class Controller : ControllerBase, IActionFilter, IFilterMetadata, IAsyncActionFilter, IDisposable
{
}
使用 RedirectToActionResult

这个 ActionResult 用于将请求转向到指定的 Controller.Action ,如果没有指定 Controller 的话,自然就会跳转到当前 Controller 下的 Action,可使用下面罗列的方法将请求跳转到指定的 Action。

RedirectToAction 返回 Http 状态码为 302 RedirectToActionPermanent 返回 Http 状态码为 301 RedirectToActionPermanentPreserveMethod 返回 Http 状态码为 308 RedirectToActionPreserveMethod 返回 Http 状态码为 307

如果不想使用具体的方法,也可以直接使用父类的 RedirectToAction 方法。


public RedirectToActionResult Index()
{
 return RedirectToAction(actionName: "Index", controllerName: "Home");
}

如果你只需要跳转到当前 Controller 下的某一个 Action,可以忽略 Controller 名字,如下代码所示:


public RedirectToActionResult Index()
{
 return RedirectToAction(actionName: "Privacy");
}
使用 RedirectToRouteResult

这是另一种可将 请求跳转到指定 Action 的方式,你可以使用下面罗列的方法来实现跳转。

RedirectToRoute 返回 Http 状态码为 302 RedirectToRoutePermanent 返回 Http 状态码为 301 RedirectToRoutePermanentPreserveMethod 返回 Http 状态码为 308 RedirectToRoutePreserveMethod 返回 Http 状态码为 307

下面的代码片段展示了 如何使用 RedirectToRoute 。


public RedirectToRouteResult Index()
{
 return RedirectToRoute("author");
}

也可以通过 RouteValueDictionary 来指定需要跳转的 Route 值,如下代码所示:


var routeValue = new RouteValueDictionary(new { action = "View", controller = "Author"});
return RedirectToRoute(routeValue);
使用 LocalRedirectResult

这个 ActionResult 只用于跳转到本地url ,也就意味着一旦你跳转到外部网站的url,肯定会抛出异常的。可以使用下面罗列的方法来实现跳转。

LocalRedirect 返回 Http 状态码为 302 LocalRedirectPermanent 返回 Http 状态码为 301 LocalRedirectPermanentPreserveMethod 返回 Http 状态码为 308 LocalRedirectPreserveMethod 返回 Http 状态码为 307
跳转到 Razor 页面

最后需要了解的一点是,你可以使用 RedirectToPage 方法将请求跳转到指定的 Razor 页面,返回 Http状态码 302,比如说:你有一个 Author Page,接下来用如下代码实现跳转。


public IActionResult RedirectToAuthorPage()
{
 return RedirectToPage("Author");
}

译文链接: https://www.infoworld.com/art...

总结

到此这篇关于asp.net Core中如何实现重定向的文章就介绍到这了,更多相关ASP.net Core实现重定向内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文章:[译]ASP.NET Core 2.0 网址重定向的方法ASP.NET Core跨站登录重定向的实现新姿势


--结束END--

本文标题: ASP.NET Core中如何实现重定向详解

本文链接: https://www.lsjlt.com/news/30791.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 详解如何在ASP.Net Core中实现健康检查
    健康检查 常用于判断一个应用程序能否对 request 请求进行响应,ASP.Net Core 2.2 中引入了 健康检查 中间件用于报告应用程序的健康状态。 ASP.Net Cor...
    99+
    2024-04-02
  • ASP.NET中怎么实现页面重定向
    这篇文章将为大家详细讲解有关ASP.NET中怎么实现页面重定向,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、Transfer Execute Redirect重定向方法介绍1.Serve...
    99+
    2023-06-17
  • php中如何实现重定向
    这篇文章主要介绍php中如何实现重定向,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php中实现重定向的方法:1、使用“header('location:跳转地址');”语句;2、使用“echo &#...
    99+
    2023-06-29
  • Shell中如何实现重定向
    这期内容当中小编将会给大家带来有关Shell中如何实现重定向,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。标准输入、标准输出和标准错误一个程序的的输入可以来自于键盘,也可以来自于文件或者其他设备;同样的,...
    99+
    2023-06-09
  • Java中如何实现重定向?
    在Java中,重定向是一种将程序的输出从一个地方移动到另一个地方的技术。重定向可以将程序的输出从控制台移动到文件,或者从一个文件移动到另一个文件。这种技术在Java中非常常见,本文将介绍Java中如何实现重定向。 Java中的重定向可以通...
    99+
    2023-07-04
    重定向 linux git
  • ASP.NET CORE如何实现跨域
    本篇内容主要讲解“ASP.NET CORE如何实现跨域”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ASP.NET CORE如何实现跨域”吧!一、后台API接口用.net c...
    99+
    2023-06-29
  • 重定向在ASP中如何实现?
    重定向是网页开发中非常常用的功能,它可以将用户从一个页面跳转到另一个页面。在ASP中,实现重定向也非常简单。本文将介绍如何在ASP中实现重定向。 首先,我们需要了解ASP中重定向的两种方式:服务器端重定向和客户端重定向。服务器端重定向是在服...
    99+
    2023-07-01
    索引 重定向 numpy
  • ASP.NET Core 6.0对热重载的支持实例详解
    目录一、整体介绍二、代码示例1. VS Code新建Blazor Server project2. dotnet watch 运行3. 修改index.razor中的代码总结.NET...
    99+
    2024-04-02
  • Java中如何实现重定向功能?
    在Web应用程序中,重定向功能是非常重要的。重定向可以让用户在不同的页面之间进行跳转,同时也可以让Web应用程序更加灵活和易于维护。Java提供了一些方法来实现重定向功能,这篇文章将介绍如何使用Java实现重定向功能。 重定向是什么? 在...
    99+
    2023-06-02
    重定向 spring numy
  • PHP中如何实现接口重定向?
    在PHP中,接口重定向是一种非常常见的技术,可以用来实现诸如URL重写、防止页面刷新等功能。在本篇文章中,我们将介绍PHP中如何实现接口重定向,并演示一些相关的代码示例。 一、接口重定向的基本概念 在讲解接口重定向之前,我们需要先了解一下重...
    99+
    2023-06-18
    接口 重定向 spring
  • Python 中如何实现重定向功能?
    在 Python 中,重定向是指将程序的标准输入、标准输出或标准错误输出流指向另一个文件或者设备。这种技术在程序调试和测试中非常重要,可以将程序的输出信息写入日志文件中,或者将错误信息输出到终端以便及时排除错误。 Python 提供了多种...
    99+
    2023-11-06
    重定向 大数据 http
  • PHP接口中如何实现重定向?
    在Web开发中,重定向是非常常见的一种技术,它可以将用户请求重新导向到另一个URL,通常用于处理表单提交、用户登录和注销等操作。在PHP中,我们可以使用header()函数来实现重定向。本文将介绍如何在PHP接口中实现重定向,并提供一些演...
    99+
    2023-10-21
    接口 重定向 数据类型
  • Python 如何实现 HTTP 重定向?
    HTTP 重定向是一种在 Web 应用程序中广泛使用的技术,它使得当用户请求某个 URL 时,可以将其重定向到另一个 URL 上。这种技术在实现网站的跳转、错误处理和搜索引擎优化等方面都起到了重要作用。Python 作为一种强大的编程语言...
    99+
    2023-08-21
    http 重定向 spring
  • linux中shell如何实现数据重定向
    这篇文章主要为大家展示了“linux中shell如何实现数据重定向”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中shell如何实现数据重定向”这篇文章吧。linux文件描述符:可以理...
    99+
    2023-06-13
  • Python 中如何实现重定向 leetcode 函数?
    LeetCode 是一个知名的在线编程平台,许多程序员都会在这里刷题。在 LeetCode 上,我们可以通过编写特定的函数来解决不同的算法问题。但是,在某些情况下,我们可能需要重定向 LeetCode 函数的输出,以便进行更高效的调试和测...
    99+
    2023-06-29
    重定向 leetcode 函数
  • Go并发中的重定向:如何实现?
    Go语言是一种高效、简洁的编程语言,其在并发编程方面具有很强的优势。在Go语言中,重定向是一种常见的操作,它可以将程序的输出重定向到一个文件或者标准输出流中。本文将介绍Go语言中如何实现重定向操作,并给出一些示例代码。 一、什么是重定向 在...
    99+
    2023-06-01
    重定向 框架 并发
  • Python 中如何实现对象的重定向?
    Python 中的对象重定向是一种非常有用的技术,可以帮助开发者更加高效地编写代码。在本文中,我们将详细介绍 Python 中如何实现对象的重定向,并提供一些演示代码帮助读者更好地理解。 什么是对象重定向? 在 Python 中,每个对象都...
    99+
    2023-07-24
    重定向 对象 同步
  • 如何在PHP和Django中实现重定向?
    重定向是Web开发中常用的技术,它可以将用户从一个URL地址重定向到另一个URL地址,从而实现页面跳转、登录认证等功能。在本文中,我们将探讨如何在PHP和Django中实现重定向,同时给出一些演示代码供读者参考。 一、PHP中的重定向 在P...
    99+
    2023-11-12
    django 教程 重定向
  • asp.net Core中如何实现同名服务注册
    这篇文章主要为大家展示了“asp.net Core中如何实现同名服务注册”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“asp.net Core中如何实现同名服务注册”这篇文章...
    99+
    2023-06-29
  • Java如何实现重定向技术?
    在Java应用程序中,重定向技术是一种非常常见的技术,它可以将应用程序输出到一个文件或者输出流中,而不是直接输出到控制台。这种技术在一些场景下非常有用,比如在Web应用程序中,可以将日志信息输出到文件中,以便于后续的分析和监控。在这篇文章...
    99+
    2023-10-10
    重定向 linux 自然语言处理
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作