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