C# 我们可以在razor页面中使用addTagHelper吗?

C# 我们可以在razor页面中使用addTagHelper吗?,c#,asp.net,asp.net-mvc,asp.net-core,razor,C#,Asp.net,Asp.net Mvc,Asp.net Core,Razor,在ASP.NET CORE 3.1 MVC项目中,我在 Views > _ViewImports.cshtml 标记现在在该文件夹中的所有视图中都可以正常工作 我还构建了AspNetCore.Identity页面,因此在我的项目中我也有 Areas > Identity > Pages > _ViewImports.cshtml 然后是一大堆剃须刀页面 Areas > Identity > Pages > Account > ... 现在,无

在ASP.NET CORE 3.1 MVC项目中,我在

Views > _ViewImports.cshtml
标记现在在该文件夹中的所有视图中都可以正常工作

我还构建了
AspNetCore.Identity
页面,因此在我的项目中我也有

Areas > Identity > Pages > _ViewImports.cshtml
然后是一大堆剃须刀页面

Areas > Identity > Pages > Account > ...
现在,无论我是将
TagHelper
添加到
\u ViewImports.cshtml
中,还是直接添加到那些Razor页面中,标记都不起作用


区域中的
Razor
页面是否与TagHelpers的工作方式不同?我可以用这种方式将
TagHelpers
添加到
.cshtml
页面中吗?还是只对视图文件夹中的
.cshtml
页面有效?

TagHelper应该完全可以使用Razor页面。只需将
@addTagHelper*,
添加到您的
\u ViewImports.cshtml
中,其中
是定义自定义
TagHelper
的项目名称。通配符
*
将使中定义的所有标记帮助程序可用于继承自
\u ViewImports.cshtml
的所有视图。如果您希望仅使一个特定的
TagHelper
可用于继承自
\u ViewImports.cshtml
add
@addTagHelper的所有视图,
其中
SpecificTagHelper
是标记帮助程序的完全限定名,例如
AuthoringTagHelpers.TagHelpers.EmailTagHelper
是定义了
标记帮助程序的项目或组件的名称,例如
AuthoringTagHelpers

@addTagHelper AuthoringTagHelpers.TagHelpers.EmailTagHelper, AuthoringTagHelpers


TagHelper应该完全可以使用Razor页面。只需将
@addTagHelper*,
添加到您的
\u ViewImports.cshtml
中,其中
是定义自定义
TagHelper
的项目名称。通配符
*
将使中定义的所有标记帮助程序可用于继承自
\u ViewImports.cshtml
的所有视图。如果您希望仅使一个特定的
TagHelper
可用于继承自
\u ViewImports.cshtml
add
@addTagHelper的所有视图,
其中
SpecificTagHelper
是标记帮助程序的完全限定名,例如
AuthoringTagHelpers.TagHelpers.EmailTagHelper
是定义了
标记帮助程序的项目或组件的名称,例如
AuthoringTagHelpers

@addTagHelper AuthoringTagHelpers.TagHelpers.EmailTagHelper, AuthoringTagHelpers


如果在
Areas>Identity>Pages>\u ViewImports.cshtml
页面中添加
addTagHelper
指令,则只有Identity razor页面可以使用自定义标记帮助器。“视图”文件夹中的视图页无法使用自定义标记帮助器

要使
视图
文件夹的页面使用自定义标记帮助器,我们应该在
视图>\u ViewImports.cshtml
页面中添加
addTagHelper
指令

要使Views文件夹的页面和Identity razor页面使用自定义标记帮助器,我们需要在
区域>Identity>页面>\u ViewImports.cshtml
视图>\u ViewImports.cshtml
中添加
addTagHelper
指令

此外,正如AntonKovachev所说,当我们添加
addTagHelper
指令时,我们应该使用项目名称。例如,我的项目名称是“netcore3”,我在Taghelpers文件夹中创建了一个MyCustomTagHelper,然后,
addTagHelper
指令应该是这样的(您可以将项目名称或文件路径更改为您的):

检查以下屏幕截图(登录和注册页面是Identity razor页面,索引页面是View页面):


如果在
区域>标识>页面>\u ViewImports.cshtml
页面中添加
addTagHelper
指令,则只有Identity razor页面可以使用自定义标记帮助器。“视图”文件夹中的视图页无法使用自定义标记帮助器

要使
视图
文件夹的页面使用自定义标记帮助器,我们应该在
视图>\u ViewImports.cshtml
页面中添加
addTagHelper
指令

要使Views文件夹的页面和Identity razor页面使用自定义标记帮助器,我们需要在
区域>Identity>页面>\u ViewImports.cshtml
视图>\u ViewImports.cshtml
中添加
addTagHelper
指令

此外,正如AntonKovachev所说,当我们添加
addTagHelper
指令时,我们应该使用项目名称。例如,我的项目名称是“netcore3”,我在Taghelpers文件夹中创建了一个MyCustomTagHelper,然后,
addTagHelper
指令应该是这样的(您可以将项目名称或文件路径更改为您的):

检查以下屏幕截图(登录和注册页面是Identity razor页面,索引页面是View页面):


应该可以,也许有命名错误?你能分享你如何设置它的示例代码吗?应该可以,也许有命名错误吗?你能分享你如何设置它的示例代码吗?
@addTagHelper *, netcore3
@addTagHelper netcore3.TagHelpers.MyCustomTagHelper, netcore3