SuperAPI AI 工具集

neo-dotnet-tag-helper

编程与开发

查看项目

更新于 10-15 20:06

技能介绍

用途:当用户要求创建、生成或设计 C# Razor 自定义 Tag Helper,或希望把复杂 HTML/UI 逻辑封装为可复用自定义标签(而非 Partial View 或 CSHTML)时使用,目标框架为 .NET 6.0(LTS)及以上。

主要能力:按生成器模式分四步工作。第一步收集需求,确认自定义标签名、接受的属性、是否需要依赖注入访问数据库或服务、是否需要 ViewContext。第二步设计,类名以 TagHelper 结尾,使用 [HtmlTargetElement("my-button")],将 HTML kebab-case 属性映射为 C# PascalCase 属性,必要时用 [HtmlAttributeName("is-active")];无 IO 时重写 Process,有 DI 异步调用时重写 ProcessAsync。第三步生成完整 C# 类,继承 Microsoft.AspNetCore.Razor.TagHelpers.TagHelper,不生成 .cshtml,全部 HTML 用 TagBuilder 构造;需要 ViewContext 时用 [ViewContext] 和 [HtmlAttributeNotBound];通过 output.TagName、output.Attributes.SetAttribute、output.Content.SetHtmlContent 管理内容;注意线程安全,不在实例字段保存请求级状态。第四步校验属性是否强类型、是否用 TagBuilder 而非字符串拼接、异步时是否正确使用 ProcessAsync。

使用方式:交付物为 markdown 代码块中的 C# 代码,并简要说明在 _ViewImports.cshtml 中注册,例如 @addTagHelper *, YourAssemblyName。

限制:资料未提供具体收费、价格、平台支持范围或效果数据;官方参考与内部参考仅列出标题,未给出链接内容。