【问题标题】:Redirect to Razor Page from MVC View in .NET Core从 .NET Core 中的 MVC 视图重定向到 Razor 页面
【发布时间】:2021-05-16 02:33:48
【问题描述】:

我有一个带有<a> 链接的简单视图。我想在单击它到带有模型的 Razor 页面后重定向。我做了asp-page="/mypage",但它只是将网址更改为/SiteFromWhichIRedirect/mypage,仅此而已。我当前所在的页面(带有<a> 标签的页面)刚刚刷新。

我做错了什么?

【问题讨论】:

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


    【解决方案1】:

    点击<a>时,会创建一个Get Request。如果要传递数据,则需要添加asp-route-xxx之类的属性。例如,要传递Id和Name。链接必须是这样的:

    <a asp-page="Create" asp-route-id="1" asp-route-name="name1">Create</a>
    

    如果你想去 razor 页面处理程序,你可以使用asp-page-handler:

    <a asp-page-handler="Create" asp-route-id="1" asp-route-name="name1">Create</a>
    

    这是一个演示:

    型号:

    public class Student
        {
            public int Id { get; set; }
            public string Name { get; set; }
    
        }
    

    cshtml.cs:

    public class IndexModel : PageModel
        {
            public IActionResult OnGet()
            {
                return Page();
            }
            public IActionResult OnGetCreate(Student s) {
                return Page();
            }
        }
    

    cshtml:

    <a asp-page-handler="Create" asp-route-id="1" asp-route-name="name1">Create</a>
    

    结果:

    【讨论】:

      猜你喜欢
      • 2021-02-21
      • 2022-01-21
      • 2020-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-11
      • 2021-09-09
      • 1970-01-01
      相关资源
      最近更新 更多