【发布时间】:2019-03-03 17:11:52
【问题描述】:
我正在使用 Asp.Net Core MVC,我正在尝试创建一个新的 Tag Helper 属性,但 Tag Helper 属性不起作用,并且我的 razor 视图上没有显示智能感知。我不知道我做错了什么。
标签助手代码
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>
【问题讨论】:
-
为什么
Vue是您的根命名空间?你在用 Vue 吗? -
一个可能的原因:您的
AssemblyName不是Vue.js_Hello_World。 -
我只是在用 VueJS 测试一些东西。这只是一个涉及自定义标签助手和 VueJS 的 helloWorld 项目。我想在标签助手的情况下,命名空间中的 Vue 应该无关紧要。我也尝试过使用“SampleNamespace”。
-
@SaudNasir 你的程序集叫什么名字?
-
@itminus 是 Vue.js_Hello_World
标签: c# razor asp.net-core-mvc asp.net-core-2.0 asp.net-core-tag-helpers