0

次のコードで定義されたカスタム TagHelper があります。

namespace TJ.Website.Core.TagHelpers { 

[HtmlTargetElement("pager", Attributes = "total-pages, current-page, link-url")]
public class PagerTagHelper : TagHelper {

    public int CurrentPage { get; set; }
    public int TotalPages { get; set; }

    [HtmlAttributeName("link-url")]
    public string Url { get; set; }

    public override void Process(TagHelperContext context, TagHelperOutput output) {
        output.TagName = "div";
        output.PreContent.SetContent("<ul class=\"link-list\">");

        var items = new StringBuilder();
        for (var i = 1; i <= TotalPages; i++) {
            var li = new TagBuilder("li");

            var a = new TagBuilder("a");
            a.MergeAttribute("href", $"{Url}?page={i}");
            a.MergeAttribute("title", $"Click to go to page {i}");

            a.InnerHtml.Append(i.ToString());

            if (i == CurrentPage) {
                a.AddCssClass("active");
            }

            li.InnerHtml.Append(a.InnerHtml.ToString());

            items.AppendLine(li.ToString());
        }
        output.Content.SetContent(items.ToString());
        output.PostContent.SetContent("</ul>");
        output.Attributes.Clear();
        output.Attributes.Add("class", "pager");
    }
}
}

これは私の _ViewImports.cs.html ページです

@using TJ.Website.Core
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, TJ.Website.Core
@inject Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration     TelemetryConfiguration

私の見解Views\Home\Index.cshtmlでは、これをやりたい

<pager total-pages='6' current-page='1'></pager>

しかし、それはレンダリングされていません.../私のビューで認識されます私のアセンブリ/プロジェクト名はTJ.Website.Coreです

助けてください

4

0 に答える 0