如何从一个Razor页面重定向到另一个页面

4

我有一个名为Page1的页面。

OnGet(string parameter1)中,我检查一个参数,在某些情况下想把用户路由到另一页。

该页面位于这里:

Pages/App/App.cshtml

我尝试过以下方法:

 this.RedirectToPage("/App/App");//

但是用户没有被重定向,如果重定向不存在,则仍然显示预期的同一页面。我希望他们能够看到应用程序页面。那么我该如何重定向到应用程序页面?
2个回答

4
以下是有效的方法:

以下是有效的方法:

public async Task<IActionResult> OnGet(string web_registration_key)
{
  //Check parameter here

    if(doRedirect)
    {
       return RedirectToPage("/App/App")
    }

  }

  return null;

}

返回null似乎有些奇怪,但是不确定应该返回什么其他东西。


2
我使用了return Page();。
以下是我的一个项目示例:
    public IActionResult OnGet(int id)
    {
        var MenuItemFromDb = _db.MenuItem.Include(m => m.CategoryType).Include(m => m.FoodType)
                .Where(x => x.Id == id).FirstOrDefault();

        if (MenuItemFromDb == null)
        {
            return RedirectToPage("./Index");
        }
        else
        {
            ShowCart(id);
            return Page();
        }
    }

    private void ShowCart(int id)
    {
        var MenuItemFromDb = _db.MenuItem.Include(m => m.CategoryType).Include(m => m.FoodType)
            .Where(x => x.Id == id).FirstOrDefault();

        CartObj = new ShoppingCart()
        {
            MenuItemId = MenuItemFromDb.Id,
            MenuItem = MenuItemFromDb
        };
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接