LinkGenerator GetPathByPage 对于区域页面返回 null

问题描述 投票:0回答:1

我正在尝试获取 Razor 页面中区域页面的绝对 URI。我正在使用 LinkGenerator 的 GetUriByPage 方法。虽然这适用于不在区域内的页面,但当我尝试在应用程序中获取区域页面的 URI 时,它会返回 null。下面是我正在做的事情的一个例子。

var uri = _linkGenerator.GetUriByPage(HttpContext, "/SomeArea/Tickets/Index", null, new { CurrentFilter = "Open" });

我错过了什么?我没有看到 GetUriByAreaPage 方法。难道根本就做不到吗?

c# asp.net-core razor-pages
1个回答
2
投票

https://www.learnrazorpages.com/advanced/areas 有此部分:

如果使用 RedirectToPage 方法将某人转移到某个位置 在一个区域内,您应该使用带有对象的重载 代表指定区域的路线值:

public IActionResult OnGet() 
{ 
    return RedirectToPage("/Create", new { area = "Administration" }); 
}

我将相同的逻辑应用于 GetUriByPage。下面是我之前的例子,但确实有效。

var uri = _linkGenerator.GetUriByPage(HttpContext, "/Tickets/Index", null, new { Area = "SomeArea", CurrentFilter = "Open" });
© www.soinside.com 2019 - 2024. All rights reserved.