1

我尝试在 .NET MAUI blazor 项目中实现自定义 TAGhelper,但无法正常工作。似乎 viewimport 没有正确注册。自定义组件未渲染和断点也未命中。

下面的步骤,我跟着。

  1. 通过 nugget安装了Microsoft.AspNetCore.Mvc.TagHelpers 和 Microsoft.AspNetCore.Mvc.TagHelpers 。

  2. 实现了简单的自定义 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");
            }
        }
    }

  1. 在共享文件夹中创建了 Viewimport.cshtml。我也尝试创建一个视图文件夹并将其放置。两者都不起作用。在视口内的线下方。
@addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"
@addTagHelper "*, Sitecore.MAUI.Service.RenderingEngine.TagHelpers"
  1. 我尝试使用 viewimport.razor ,而不是 cshtml ,但它抛出了一个错误。所以我把它保存为cshtml。

指令@addTagHelper、@removeTagHelper 和@tagHelperPrefix 在组件文档中无效。请改用“@using”指令。c:***\Src\Sitecore.Net.MAUI.Blazor.Client\Shared_ViewImports.razor

  1. 在主 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>

4

0 回答 0