如何在ASP.NET Core TagHelper中移除自动生成的id属性?
问题描述
我使用ASP.NET Core的Input TagHelper编写了如下代码:
<input asp-for="Query.Skip" type="hidden" name="Skip" />
渲染后生成的HTML是:
<input type="hidden" name="Skip" id="Query.Skip" value="0" />
我希望渲染后的HTML不要包含id属性,尝试设置id="@null"但没有效果,该怎么实现?
解决方案
- 方法一:使用官方属性禁用id生成
直接在input标签上添加asp-for-no-id="true"属性,这是ASP.NET Core专门提供的用于关闭id自动生成的配置项:
<input asp-for="Query.Skip" type="hidden" name="Skip" asp-for-no-id="true" />
渲染后将不会生成id属性。
- 方法二:手动绑定值,放弃asp-for
如果不需要TagHelper的其他特性,也可以直接手动绑定值,不使用asp-for:
<input type="hidden" name="Skip" value="@Model.Query.Skip" />
内容的提问来源于stack exchange,提问作者Gup3rSuR4c
相关产品推荐
相关产品推荐

