我目前正在使用https://github.com/madskristensen/vswebessentials.com/blob/master/Website/Views/_Layout.cshtml在“旧”Razor应用程序中的方法。在移植到Core 2.1时,我没有找到Request.CurrentExecutionFilePath
的等价物(我打算发布MvcRazorCompileOnPublish
设置为false
,因此cshtml文件将用于缓存失效)
您可以使用IPageFilter
OnPageHandlerSelected
方法访问当前页面的ActionDescriptor
。它公开了一个RelativePath属性,它为您提供当前页面的相对文件路径:
public override void OnPageHandlerSelected(PageHandlerSelectedContext context)
{
var file = context.ActionDescriptor.RelativePath;
}
你可以在这里阅读更多关于IPageFilter
及其方法的信息:https://www.learnrazorpages.com/razor-pages/filters