【问题标题】:is there any way to use TagHelpers in asp.net mvc 5?有没有办法在 asp.net mvc 5 中使用 TagHelpers?
【发布时间】:2018-09-02 07:06:45
【问题描述】:

只是想在我们的“遗留”asp.net mvc 项目中使用新的标签助手,因为我相信它们可以为我们提供很多帮助。

已安装 Microsoft.AspNetCore.Mvc.TagHelpers nuget 包,但由于缺少 @addTagHelper 功能,因此无法在运行时处理所有标记帮助程序 :(

是否可以设置解决方案/剃须刀引擎以某种方式使用它?

【问题讨论】:

  • 不,但是您可以使用标准的 HTML Helpers,它可以做很多相同的事情。并且 ASP.NET(非代码)MVC 绝对不是“遗留”,它仍然得到完全支持,没有结束它的路线图,WebForms 也是如此。
  • 感谢您的回复。您能否详细说明“否”?非核心 MVC 剃须刀引擎究竟缺少什么?我打算使用标签助手的主要原因是 razor 和 html 语法的混合会导致更多的小错误运行时并且在人类阅读时非常具有破坏性。Html 助手不能解决这个问题。
  • 较旧的 Razor 引擎根本无法理解它们。它不是在寻找它们,也不知道如何处理它们。所以缺少的(我假设,我自己没有详细研究过)是检测标记中的标签助手并对其进行操作的代码。我很确定它都是开源的,所以如果你真的想的话,你可以比较和对比这两个引擎。但我认为将功能反向移植到旧 MVC 中会相当具有挑战性。
  • 我同意 tag-helper 语法比 Razor HTML helper 语法更简洁,更简洁,这可能是微软改用它的原因。但是,如果您使用的是较旧的 MVC,恐怕您也可能会被旧的语法风格所困扰。
  • 如果您决定在 MVC 5 中添加对标签助手的支持,请务必将实现开源并发布在 NuGet 上。我相信其他人希望他们的 MVC 5 应用程序“面向未来”,以便以后可以更轻松地移植到 ASP.NET Core。

标签: c# asp.net-mvc asp.net-core-tag-helpers


【解决方案1】:

不,标签助手仅在 ASP.NET Core 中受支持,而不在较旧的 ASP.NET(基于经典的 .NET Framework,而不是较新的 .NET Core)中受支持。

但是你可以使用HTML Helpers 来做很多相同的事情。

【讨论】:

    猜你喜欢
    • 2017-02-01
    • 2015-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    • 2011-05-28
    相关资源
    最近更新 更多