从 HttpContext 获取 Razor Pages 中的用户名:放置代码的位置

Get user name in Razor Pages from HttpContext: where to put the code

我是 Razor Pages 的新手。我只有一页,我有 Index.cshtml 和 Index.cshtml.cs 以及

public class IndexModel : PageModel

还有_Layout.cshtml.

我需要从 HttpContext Header. 获取用户名并在 _Layout.cshtml 中显示用户名(有导航栏)。

但我不知道将这段代码放在 Razor Pages 中的最佳位置是什么? 我不能把它放到Index.cshtml.cs OnGet,因为我需要在Layout中,至少我是这么认为的。


这不在这个问题之内,但仅供参考,我使用 Azure Easy Auth 并从文档(以及其他非 Razor Pages 项目)中看到 HttpContext.Request.Headers["X-MS-CLIENT-PRINCIPAL-ID"] 将包含我需要的名称。

您可以使用 Context 属性:

访问 Razor 页面中的当前 HttpContext
<p>@Context.Request.Headers["X-MS-CLIENT-PRINCIPAL-ID"]</p>

此方法记录在 Use HttpContext from a Razor view