在Asp.Net Core 2中是否有与Response.Redirect("〜/ Controller /")相同的功能?

时间:2018-01-07 20:03:29

标签: asp.net asp.net-core asp.net-core-2.0 razor-pages

Response.Redirect("~/Controller/")中是否有Asp.Net Core 2

我不想使用ViewComponent。而不是,我希望从视图中调用Controller和action方法。

@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/");}

3 个答案:

答案 0 :(得分:4)

如果在控制器方法中尝试此操作:

RedirectToAction("yourActionName", "YourControllerName");

或:

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

这也可以与AppStart中定义的参数一起使用 - &gt; 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 });

for Post Method use

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

答案 1 :(得分:0)

您应该从行动中返回结果。

视图不应包含这样的逻辑;你应该将所有这些逻辑移动到一个动作或过滤器。

答案 2 :(得分:0)

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