5

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

我不想使用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/");}
4

3 回答 3

7

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

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 });

用于发布方法

Url.Action("YourActionName", "YourControllerName", new { "your variable" = id });
于 2018-01-09T08:43:00.587 回答
0

您应该从您的操作中返回一个结果。

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

于 2018-01-07T20:07:55.270 回答
-1

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

于 2018-01-08T17:30:32.940 回答