首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用POST重定向ASP.NET MVC?

这是一个关于如何使用POST重定向ASP.NET MVC的问答。在ASP.NET MVC中,POST重定向是一种将用户从页面A重定向到页面B的方法,通过这种方法可以更新表单数据并导航到另一个页面。

使用POST重定向的主要步骤如下:

  1. 添加一个路由策略,用于处理表单提交和重定向。
  2. 在需要重定向的表单中添加一个隐藏字段,用于存储重定向URL。
  3. 使用JavaScript或jQuery将表单提交到路由策略指定的URL。
  4. 在路由策略中检查隐藏字段中的重定向URL,并将其重定向到实际目标页面。

下面是一个简单的示例代码,用于实现POST重定向:

代码语言:javascript
复制
$(document).ready(function () {
    // 提交表单
    $("#submit-btn").click(function () {
        var form = $("#form");
        var redirectUrl = $("#redirect-url").val();
        $.ajax({
            url: "/Home/Redirect",
            type: "POST",
            data: {
                "redirect-url": redirectUrl
            },
            success: function (data) {
                window.location.href = data;
            }
        });
    });
});

在上面的代码中,我们使用jQuery的$.ajax方法向路由策略指定的URL发送POST请求,并在数据中包含一个名为"redirect-url"的隐藏字段,用于存储重定向URL。当路由策略处理这个请求时,它会检查隐藏字段中的重定向URL,并将其重定向到实际目标页面。

在路由策略中,您可以使用ASP.NET MVC的UrlHelper类来生成重定向URL。下面是一个简单的示例代码:

代码语言:csharp
复制
public ActionResult Redirect(string redirectUrl)
{
    return RedirectToAction("Index", "Home", new { redirectUrl = redirectUrl });
}

在上面的代码中,我们使用UrlHelper类的Action方法来生成重定向URL,并将其作为参数传递给Redirect方法。Redirect方法使用RedirectToAction方法将用户重定向到"Index"方法,并将重定向URL作为参数传递给该方法。最终,用户将被重定向到"Index"方法,并在URL中包含重定向URL。

总之,使用POST重定向是一种简单而强大的方法,可以在不刷新页面的情况下更新表单数据,并导航到另一个页面。在ASP.NET MVC中,您可以使用路由策略和UrlHelper类来实现POST重定向。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Tornado重定向实现&POST方法如何重定向

问题现象: 场景:终端使用POST方法访问/qacenter/v1/test-records接口时,需要重定向跳转到/qacenterinner/v1/test-records接口 实现: tornado...=307) 使用POSTMAN访问接口,报错405 method not allowed, 查看tornado打印如下: [I 200506 09:34:54 web:2246] 302 POST /qacenter...0.71ms [W 200506 09:34:54 web:2246] 405 GET /qacenterinner/v1/test-records (192.168.63.56) 0.49ms 问题描述: 使用...Tornado 重定向后,发现POSTMAN的请求方法发生了变化,从POST变成了GET Tornado 重定向使用方法: https://www.tornadoweb.org/en/latest/web.html...更改后,发现,第二次的请求方法确实变成了POST,但是很遗憾的时,请求body为空。 这当然时不符合我们的预期的!那到底是什么原因导致的呢?以及如何解决呢?

20010
  • ASP.NET Core MVC如何使用Session实现身份验证

    ASP.NET页面是"无状态"的,这意味着每次向服务器发送一个请求,服务器都会生成一个该页面的实例。...Session可以保存变量,该变量只能供一个用户使用,也就是说,每一个网页浏览者都有自己的Session对象变量,即Session对象具有唯一性。 ?...二、 Session是如何工作的以及工作机制和工作流程 服务端的Session机制是基于客户端的,也就是说服务端的Session会保存每个客户端的信息到服务端内存中。...三、ASP.NET Core MVC使用Session方式来实现用户身份验证 这篇文章主要为大家详细介绍了ASP.NET Core MVC使用Session验证用户登录的相关资料,具有一定的参考价值,...1)、 Asp.Net Core中Session中间件的使用 我们需要在用户登录以后记录当前登录用户的会话状态,ASP.NET Core 已经内置发布了一个关于会话的程序包(Microsoft.Extensions.DependencyInjection

    3.8K30

    ASP.NET MVC使用Bootstrap系列(3)——使用Bootstrap 组件

    Bootstrap元素我在上一篇文章中涉及到,具体可以参考《ASP.NET MVC使用Bootstrap系列(2)——使用Bootstrap CSS和HTML元素》。...在这篇博客中,我将继续探索Bootstrap丰富的组件以及将它结合到ASP.NET MVC项目中。...在ASP.NET MVC默认的_Layouts.cshtml布局页中已经帮我们实现了上述功能,打开它对其稍作修改,如下代码片段所示: <div class="navbar navbar-inverse...<em>使用</em>SignalR动态更新进度条 SignalR是<em>ASP.NET</em>的库,可以用来双向实时通信,在<em>ASP.NET</em> <em>MVC</em>项目中<em>使用</em>SignalR:1.首先通过NuGet来安装SignalR Nuget...小结 在这篇博客中,探索了Bootstrap中丰富的组件,并将它结合到<em>ASP.NET</em> <em>MVC</em>项目中。

    6.5K100

    如何ASP.NET MVC 中集成 AngularJS(1)

    作为一个微软stack开发者,我也是使用 ASP.NET MVC 平台实现 MVC 设计模式和并进行研究的粉丝,包括它的捆绑和压缩功能以及实现其对 RESTful 服务的 Web API 控制器。...除了使用 AngularJS 和 ASP.NET MVC,这个应用程序也将实现使用微软的 ASP.NET Web API 服务来创建 RESTful 服务。...AngularJS VS ASP.NET Razor 视图 几年来,我一直在使用完整的 Microsoft ASP.NET MVC 平台来开发 Web 应用程序。...相比于使用传统的 ASP.NET Web 窗体的 postback 模型, ASP.NET MVC 平台使用的是 Razor 视图。 这带来的是:适当的业务逻辑、数据和表示逻辑之间关注点的分离。...主页索引的 Razor 视图和 MVC 路由 ASP.NET MVC 中集成 AngularJS 的一件有趣的事情,就是应用程序实际上是如何启动和实现路由的。

    7.6K60

    ASP.NET MVC使用Bootstrap系列(4)——使用JavaScript插件

    通过添加data attribute(data 属性)可以轻松的使用这些插件,当然你也可以使用编程方式的API来使用。...为了使用Bootstrap插件,我们需要添加Bootstrap.js或者Bootstrap.min.js文件到项目中。...Data属性 VS 编程API Bootstrap提供了完全通过HTML标记的方式来使用插件,这意味着,你可以不写任何JavaScript代码,事实上这也是Bootstrap推荐的使用方式。...你确定要继续吗                 @using (Html.BeginForm("Delete", "Customers", FormMethod.Post...小结 在这篇博客中介绍了常见的Bootstrap插件,通过使用数据属性和编程方式的API来使用这些插件,更多插件访问:http://v3.bootcss.com/javascript/ 获取。

    5.2K60

    如何使用Serilog.AspNetCore记录ASP.NET Core3.0的MVC属性

    记录来自MVC的其他信息 就目前而言,ASP.NET Core中的一个特征是许多行为被MVC“基础结构”锁定在了MVC框架内部来实现。端点路由是采用MVC功能并将其下移到核心框架中的首要工作之一。...ASP.NET Core团队一直在努力将更多MVC特定功能(例如模型绑定或操作结果)从MVC中移除,然后“下推”到核心框架中。...在这篇文章中,我将展示如何在过滤器中使用IDiagnosticContext,以及将MVC特定值添加到日志中。...我还将展示如何在page过滤器中添加RazorPages特定的值(如HandlerName)。 使用自定义过滤器记录MVC属性 过滤器相当于为每个请求运行的类似于MVC的微型中间件管道。....在本文中,我将展示如何自定义Serilog,RequestLoggingOptions以重新添加特定于MVC的其他属性。

    3.6K10
    领券