【问题标题】:Razor Pages Web App (.Net core 2.1) - How to Handle Redirection from one Area Page to another Area PageRazor Pages Web App (.Net core 2.1) - 如何处理从一个区域页面到另一个区域页面的重定向
【发布时间】:2019-01-04 06:14:29
【问题描述】:

我刚刚将我的 Razor 网页应用程序从 .net core 2.0 更新到了 .net core 2.1,并重新组织了我的代码以使用 Areas

我的问题是

如何从页面重定向

Areas/Identity/Account/Register.cshtml 

Areas/Admin/ManageUsers/Index.cshmtl

在.net core 2.0 的早期,我只是使用RedirectToPage("/ManageUsers/Index"),因为我所有的代码都在默认的Pages 目录下。

注意:我没有使用startup.cs 中的任何路由。

感谢期待。

【问题讨论】:

    标签: c# razor-pages asp.net-core-2.1


    【解决方案1】:

    刚刚找到解决方案。

    选项 1:

    Areas/Identity/Account/Register.cshtml 中,在 OnPostAsync() 中使用以下 url

    string url = Url.Page("/ManageUsers/Index", new { area = "Admin" });
    LocalRedirect(url);
    

    选项2:使用returnUrl。

    点击Areas/Admin/ManageUsers/Index.cshtml 中的“注册用户”链接时,将asp-route-returnUrl 发送到“/Account/Register”页面。见下文。

    <a asp-area="Identity" asp-page="/Account/Register" asp-route-returnUrl="@Url.Page("/ManageUsers/Index", new { area = "Administration" })">Register New User</a>
    LocalRedirect(url);
    

    选项 2 似乎更灵活、更合适。

    这就是我们如何从一个 Area 页面重定向到另一个 Area 页面的方式。

    【讨论】:

      猜你喜欢
      • 2022-01-21
      • 2019-03-11
      • 2013-02-24
      • 1970-01-01
      • 2011-04-26
      • 2016-04-20
      • 1970-01-01
      • 2012-04-18
      • 2011-12-21
      相关资源
      最近更新 更多