使用参数重定向到视图不起作用(ASP.NET Core)

Posted

技术标签:

【中文标题】使用参数重定向到视图不起作用(ASP.NET Core)【英文标题】:Redirect to view with parameter doesn't work (ASP.NET Core) 【发布时间】:2017-02-22 08:34:12 【问题描述】:

我想用几个参数重定向一个页面。但是,如果我尝试通过返回RedirectToAction() 来执行此操作,该页面将无法正常工作。代码如下:

控制器Home,操作Display

public IActionResult Display()

     return RedirectToAction("Display", new
        
            token = "2a4d237b-e2db-4ffe-ae42-787ae4e7566c",
            id = "abcdefgh",
            display = "Default"
        );

查看

  <a asp-area="" asp-controller="Home" asp-action="Display">Link</a>

如果我在 Home 控制器中的 Display() 方法中返回 View(),那么页面加载效果很好。

public IActionResult Display()

     return View(); //this works

【问题讨论】:

你重定向到同一个控制器上的同一个动作,堆栈溢出异常?创建第二个方法,采用您指定的参数,然后从该参数返回视图。 【参考方案1】:

不确定您想要实现什么。如果要重定向到同一控制器中的操作,则需要指定返回视图的操作的名称。 在上面的代码中,您正在重定向到相同的操作。看看这个答案here

【讨论】:

问题是当我重定向到同一个控制器但带有参数时。但是我想出了一个方法:在视图中我提到了路由的参数 在控制器中我只返回 View()。

以上是关于使用参数重定向到视图不起作用(ASP.NET Core)的主要内容,如果未能解决你的问题,请参考以下文章

为啥即使我调用 UseHttpsRedirection ASP.NET Core 重定向也不起作用?

ASP.NET MVC RedirectToAction 在从视图中发布 AJAX 后不起作用

自动 IIS6 403.4 重定向到 SSL 不起作用

如何重定向到 $.AJAX 上的视图完成 - asp.net mvc 3

MVC-3 ASP.NET 共享视图-重定向-Razor

使用参数登录 asp.net 重定向