如何修复 VS 代码中的自定义标签助手问题?
How to fix custom tag helper problem in VS code?
我查看了整个堆栈并尝试了很多方法来解决我的问题,但我的自定义标签助手就是不呈现。我在堆栈上看到的所有问题都使用 visual studio 而我使用的是 VS 代码,所以我不知道这是否有帮助。
using System;
using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace Learners_Project.CustomTagHelpers
{
public class StepTagHelper : TagHelper
{
private const string EmailDomain = "contoso.com";
public string MailTo { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "a"; // Replaces <email> with <a> tag
var address = MailTo + "@" + EmailDomain;
output.Attributes.SetAttribute("href", "mailto:" + address);
output.Content.SetContent(address);
}
}
}
这就是我的视图的样子
@using Learners_Project
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, Learners_Project
@{
ViewData["Title"] = "Home Page";
}
<step mail-to = "test"></step>
<p>why is this not working</p>
当我 运行 执行此操作并查看检查器时,步骤行未被解析
@addTagHelper
指令使您的自定义标签助手在视图中可用。该指令的参数指定 (1) 要导入的标签助手以及 (2) 从哪个程序集加载这些标签助手。在这种情况下,我认为您的程序集/项目名称中的 space 引起了一些误解。即使您项目的名称space 可能是Learners_Project
,程序集名称仍然是Learners Project
(没有下划线)。由于没有名称为 Learners_Project
(带下划线)的程序集,因此找不到标记助手。
将导入语句从 @addTagHelper *, Learners_Project
更改为 @addTagHelper *, Learners Project
可能会解决问题。但是,如果这不能解决问题,请在参数 could (@addTagHelper "*, Learners Project"
) 两边加上引号。在我的测试项目中,这不是必需的。
我查看了整个堆栈并尝试了很多方法来解决我的问题,但我的自定义标签助手就是不呈现。我在堆栈上看到的所有问题都使用 visual studio 而我使用的是 VS 代码,所以我不知道这是否有帮助。
using System;
using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace Learners_Project.CustomTagHelpers
{
public class StepTagHelper : TagHelper
{
private const string EmailDomain = "contoso.com";
public string MailTo { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "a"; // Replaces <email> with <a> tag
var address = MailTo + "@" + EmailDomain;
output.Attributes.SetAttribute("href", "mailto:" + address);
output.Content.SetContent(address);
}
}
}
这就是我的视图的样子
@using Learners_Project
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, Learners_Project
@{
ViewData["Title"] = "Home Page";
}
<step mail-to = "test"></step>
<p>why is this not working</p>
当我 运行 执行此操作并查看检查器时,步骤行未被解析
@addTagHelper
指令使您的自定义标签助手在视图中可用。该指令的参数指定 (1) 要导入的标签助手以及 (2) 从哪个程序集加载这些标签助手。在这种情况下,我认为您的程序集/项目名称中的 space 引起了一些误解。即使您项目的名称space 可能是Learners_Project
,程序集名称仍然是Learners Project
(没有下划线)。由于没有名称为 Learners_Project
(带下划线)的程序集,因此找不到标记助手。
将导入语句从 @addTagHelper *, Learners_Project
更改为 @addTagHelper *, Learners Project
可能会解决问题。但是,如果这不能解决问题,请在参数 could (@addTagHelper "*, Learners Project"
) 两边加上引号。在我的测试项目中,这不是必需的。