Используйте помощники Razor Tag внутри помощника пользовательских тегов - PullRequest
0 голосов
/ 25 июня 2019

Здравствуйте, это мой помощник по тегам

    [HtmlTargetElement("card")]
    public class CardTagHelper : TagHelper
    {
        public string Title { get; set; }
        public string Icon { get; set; }
        public string Url { get; set; }

        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            output.TagName = "CardTagHelper";
            output.TagMode = TagMode.StartTagAndEndTag;

            var preContent = new StringBuilder();
            preContent.AppendFormat($@"
                    <div class='card custom-card'>
                        <div class='card-header'>
                            <div class='card-title'>");

            if (Url != null)
            {
                preContent.AppendFormat($@"
                                <a asp-for='{Url}'>
                                    <div class='float-left return'>
                                        <i class='fas fa-arrow-alt-circle-left fa-lg'></i>
                                    </div>
                                </a>");
            }

preContent.AppendFormat($@"<i class='{Icon}'></i>
                                {Title}
                            </div>
                        </div>
                        <div class='card-body'>");

            var postContent = new StringBuilder();
            postContent.AppendFormat($@"                                   
                        </div>
                        <div class='card-footer'>
                        </div>
                    </div>");

            output.PreContent.SetHtmlContent(preContent.ToString());
            output.PostContent.SetHtmlContent(postContent.ToString());
        }
    }
}

выводом является карта начальной загрузки 4

<card title="myTitle" icon="myIcon" url="redirectUrl">

    // Content here

</card>

моя проблема в том, что я хотел бы использовать asp-страницу вместо href наусловная отрисованная строка для якоря, но когда я ее добавил, она не имела никакого эффекта или какого-либо кликабельного.

РЕДАКТИРОВАТЬ

Это мои viewimports, как я предположил, я попытался включитьмой пользовательский помощник до Asp.Net Core

@using MyProject
@namespace MyProject.Pages
@addTagHelper *, MyProject
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
...