【问题标题】:How to redirect from one Razor Page to another如何从一个 Razor 页面重定向到另一个
【发布时间】:2018-03-22 21:39:43
【问题描述】:

我有一个名为 Page1 的页面。

OnGet(string parameter1) 内部我检查了一个参数,并且在某些情况下希望将用户路由到另一个页面。

页面位于此处:

页面/App/App.cshtml

我试过这个:

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

但是用户没有被重定向。如果重定向不存在,它只会显示与预期相同的页面。我希望他们看到应用页面。

那么如何重定向到应用页面呢?

【问题讨论】:

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


    【解决方案1】:

    这是有效的:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-22
        • 1970-01-01
        • 2016-12-14
        • 1970-01-01
        • 2019-11-04
        • 1970-01-01
        • 1970-01-01
        • 2022-11-15
        相关资源
        最近更新 更多