如何访问 TagHelper 中的 Razor Page 对象

How to access Razor Page object in TagHelper

我正在为 ASP.NET Core 3.1 Razor Pages 应用程序编写一个 taghelper。在我的 TagHelper 中,我想访问 Razor Page 对象(目的是有条件地设置 Layout = null)

我知道

[HtmlAttributeNotBound]
[ViewContext]
public ViewContext ViewContext { get; set; }

设施,但页面似乎无法通过 ViewContext 访问。

问题

我是否必须通过 TagHelper 显式传递页面本身 属性,或者是否有更方便的方法,而不是强迫我的 TagHelper 的用户重复添加这个额外的属性?

ViewContext.ViewData.Model

这returns一个对象,只需将它转换为您想要访问其属性的类型即可。