Asp.Net Core 2 中是否有等同于 Response.Redirect("~/Controller/") 的东西?

Is there an equivalent to Response.Redirect("~/Controller/") in Asp.Net Core 2?

Asp.Net Core 2中是否有等价于Response.Redirect("~/Controller/")的?

我不想使用 ViewComponent。相反,我想从视图中调用控制器和操作方法。

@using Jahan.Blog.Web.Mvc.Models
@{
    ViewBag.Title = "Home Page";
}

<header>
    <h1> Blog </h1>
</header>
<div class="blog-description">
    <p>...</p>
</div>

@{ Response.Redirect("~/Article/");}

你应该return你的行动的结果。

视图不应包含那样的逻辑;您应该将所有此类逻辑移动到操作或过滤器中。

您正在从视图重定向...ASP MVC Core 2 or Razor Pages 中的视图无权访问请求的上下文,因此他们无法重定向...

如果在控制器方法中试试这个:

RedirectToAction("yourActionName", "YourControllerName");

或:

Url.Action("YourActionName", "YourControllerName");

这也可以与 AppStart -> RouteConfig.cs 文件中定义的参数一起使用

i.e  
routes.MapRoute(
          name: "Default",
          url: "{controller}/{action}/{id}",
          defaults: new { controller = "YourControllerName", action = "YourActionName", id = 
          UrlParameter.Optional }
      );

传递参数只需为 get 方法添加新关键字

Url.Action("YourActionName", "YourControllerName", new { id = id });

为Post方法使用

Url.Action("YourActionName", "YourControllerName", new { "your variable" = id });