我尝试在 .NET MAUI blazor 项目中实现自定义 TAGhelper,但无法正常工作。似乎 viewimport 没有正确注册。自定义组件未渲染和断点也未命中。
下面的步骤,我跟着。
通过 nugget安装了Microsoft.AspNetCore.Mvc.TagHelpers 和 Microsoft.AspNetCore.Mvc.TagHelpers 。
实现了简单的自定义 taghelper cs 文件,如下所述,
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace Sitecore.MAUI.Service.RenderingEngine.TagHelpers
{
[HtmlTargetElement("sc-placeholder")]
public class PlaceholderTagHelper : TagHelper
{
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.Content.SetContent("Custom sc component");
}
}
}
- 在共享文件夹中创建了 Viewimport.cshtml。我也尝试创建一个视图文件夹并将其放置。两者都不起作用。在视口内的线下方。
@addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"
@addTagHelper "*, Sitecore.MAUI.Service.RenderingEngine.TagHelpers"
- 我尝试使用 viewimport.razor ,而不是 cshtml ,但它抛出了一个错误。所以我把它保存为cshtml。
指令@addTagHelper、@removeTagHelper 和@tagHelperPrefix 在组件文档中无效。请改用“@using”指令。c:***\Src\Sitecore.Net.MAUI.Blazor.Client\Shared_ViewImports.razor
- 在主 layout.razor 中,我放置了如下所示的组件,
@inherits LayoutComponentBase
<div class="page">
<div class="sidebar">
<NavMenu />
</div>
<main>
<div class="top-row px-4">
<a href="https://docs.microsoft.com/aspnet/" target="_blank">About</a>
</div>
<article class="content px-4">
<sc-placeholder name="myproject-main"></sc-placeholder>
@Body
</article>
</main>
</div>