ASP.net Core 3.1中控制器和剃须刀页面之间的路由

时间:2020-03-30 22:26:15

标签: asp.net-mvc routing razor-pages asp.net-core-3.1

我正在尝试从家庭控制器中的操作方法路由到剃须刀页面。正确的方法是什么?

  ID LINE TYPE label
0  1    1    0  None
1  1    3    1  None
2  1    2    1  True
3  2    1    1  True
4  2    2    0  None

1 个答案:

答案 0 :(得分:1)

使用“ RedirectToPage”方法重定向到asp.net核心中的Razor页面。

RedirectToPage方法返回RedirectToPageResult的新实例(ActionResult的一种形式)。 RedirectToPage方法是PageModel附带的一个辅助方法,可帮助您消除编写动作结果的新实例并简化代码的需要。

 public async Task<IActionResult> CreateRoom(string name)
    {
        _db.Chats.Add(new Chat
        {
            Name = name,
            Type = ChatType.Room
        });
        await _db.SaveChangesAsync();
        return RedirectToPage("Index");//assuming you have the Index page in Pages folder
    }

fyi,RedirectToPage也有重载,您可以根据需要使用它。

上面的代码与下面的效果相同。

 public async Task<IActionResult> CreateRoom(string name)
    {
        _db.Chats.Add(new Chat
        {
            Name = name,
            Type = ChatType.Room
        });
        await _db.SaveChangesAsync();
        return new RedirectToPageResult("Index");
    }