c# - 自定义标记助手在 ASP.Net Core MVC 中不起作用
问题描述
我正在使用 Asp.Net Core MVC,我正在尝试创建一个新的标签助手属性,但标签助手属性不起作用,并且我的剃刀视图上没有显示智能感知。我不知道我做错了什么。
标签助手代码
namespace Vue.js_Hello_World.Helpers
{
[HtmlTargetElement("input", Attributes = "asp-line")]
public class CustomTagHelper: TagHelper
{
[HtmlAttributeName("asp-line")]
public string ID { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
if (!string.IsNullOrEmpty(ID))
{
output.Attributes.SetAttribute("id", ID + new Guid());
}
base.Process(context, output);
}
}
}
_ViewImports.cshtml
@using Vue.js_Hello_World
@using Vue.js_Hello_World.Models
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, Vue.js_Hello_World
VueDetail.cshtml(这是部分视图)
@model Vue.js_Hello_World.Models.VueJsTestModelDetail
<td style="width:200px;">@Model.DetailId</td>
<td style="width:200px;">@Model.Id</td>
<td >
<input type="hidden" asp-for="DetailId" asp-line ="DetailId"/>
<input type="hidden" asp-for="Id" />
<input type="text" asp-for="Email" class="form-control-sm" style="width:250px;"/>
</td>
解决方案
我能够通过匹配 HtmlTargetElement 的名称和 TagHelper 类的名称来解决这个问题。我只需要替换CustomTageHelper
它inputTagHelper
实际上是 HtmlTargetElement 的名称。
推荐阅读
- r - 无法在 R Studio 中安装 statnet 包
- c# - NLog - 正确的缓冲方式
- typescript - 打字稿从返回回调函数值创建一个动态元组
- c# - EF Core:抽象类作为根实体处理
- css - 在 React 网站中使用类和样式的最佳方式
- django - 如何使用 django 模板提供文件以从 HTML 下载
- mysql - MySQL - 大型数据库,提高搜索时间
- aem - AEM-REX-001-008:无法将请求的使用权限应用于给定文档
- reactjs - 用 gatsbyjs 上的帖子捕获数组
- python-3.x - Python:将 numpy ndarray 的值添加到现有的 pandas Dataframe