【发布时间】:2017-09-27 13:37:12
【问题描述】:
我有 ASP.NET Core 2.0 网站,该网站托管在 .NET Core 控制台/服务中。我已经实现了一个简单的自定义 TagHelper。当我直接从 VS2017 启动 ASP.NET Core 网站时,TagHelper 工作正常。当我启动托管了 asp.net 页面的 .NET Core 控制台主机时,标签助手不起作用。
我尝试在 _ViewImports.cshtml 中注册 TagHelper,并直接在视图中注册为 self(Home/Index)。
我的自定义 TagHelper:
[HtmlTargetElement("time")]
public class TimeTagHelper : TagHelper
{
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
{
output.Content.SetHtmlContent($"<h1>{DateTime.Now.ToShortTimeString()}</h1>");
}
}
_ViewImports.cshtml
@using SelfHosted.Website
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper SelfHosted.Website.TagHelpers.*, SelfHosted.Website
VS2017 中的 TimeTagHelper 智能感知工作正常: TimeTagHelper in Index.cshtml
代码位于GitHub。 TagHelper 在 SelfHosted.Website 中实现并在 /Home/Index 中使用。当 SelfHosted.Website 直接启动时,它可以完美运行。但它不起作用,当我从 SelfHostes.Console 启动网站时。
【问题讨论】:
标签: c# asp.net-core asp.net-core-tag-helpers