【问题标题】:How do you perform a 302 redirect using MVC3 and ASP.Net?如何使用 MVC3 和 ASP.Net 执行 302 重定向?
【发布时间】:2011-06-18 22:24:38
【问题描述】:

我在一个应用程序中使用 Razor、HTML5、MVC3 和 C#,在用户点击一个链接后,我打开一个新窗口,进行一些处理,然后想用 302 状态代码将该窗口重定向到链接。

谢谢。

【问题讨论】:

    标签: asp.net-mvc-3 c#-4.0 redirect http-status-code-302


    【解决方案1】:

    在 ASP.NET MVC 中执行此操作的正确方法是使用返回重定向 ActionResult 的控制器操作。因此,在您在此窗口中调用的控制器操作中并进行处理只需通过返回正确的 ActionResult 来执行重定向:

    public ActionResult Foo()
    {
        // ... some processing
        return RedirectToAction("SomeAction", "SomeController");
    }
    

    当调用Foo 操作时(可能在新窗口内),它将执行处理并向客户端返回一个 302 HTTP 状态代码,新位置为/SomeController/SomeAction

    如果您想重定向到应用程序的某个外部 url,您可以执行以下操作:

    public ActionResult Foo()
    {
        // ... some processing
        return Redirect("http://someotherdomain.com/somescript");
    }
    

    就创建将在新窗口/选项卡中打开的链接而言,您可以在锚点上附加 target="_blank" 属性:

    @Html.ActionLink(
        "Some link",                 // linkText
        "Foo",                       // action
        "SomeController",            // controller
        null,                        // routeValues
        new { target = "_blank" }    // htmlAttributes
    )
    

    【讨论】:

      猜你喜欢
      • 2015-11-20
      • 2021-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      • 2013-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多