【发布时间】:2017-12-29 05:43:55
【问题描述】:
我正在更新使用 .net 框架开发的应用程序。为了生成搜索结果,我使用了 html 助手。我的意思是搜索结果就像在 Youtube 上的搜索,包括图片、一些描述文本和一两个链接。现在 html 助手在 asp.net 中被贬低了,我在徘徊如果我应该将这个功能实现为标签助手。我使用了 html 助手,因为在我网站的许多地方都可以找到显示搜索结果的要求。缺点是我的标签助手使用了 TagBuilder 类所要求的几行代码。
TagBuilder tag = new TagBuilder("select");
tag.MergeAttribute("id", "ddlBrands");
tag.MergeAttribute("name", "BrandId");
tag.MergeAttribute("class", "form-control");
//code to add to a container
如果我有 10 个元素,只需要 5 行代码来设置一个元素,我最终会得到一个包含 50 行代码的助手。我不能像在视图上那样有效地使用路由功能。有没有更好的解决方案?
【问题讨论】:
-
您似乎误解了 mvc-core 中的标签助手是什么。您显示的是
TagBuilder,而不是标签助手。请参阅Introduction to using tag helpers in forms in ASP.NET Core。并且HtmlHelper方法还没有被弃用! -
我知道什么是标签助手。我只是展示了如何使用 html 帮助程序来构建可重用的 html 块,其中涉及使用 TagBuilder 类,该类需要多行代码来生成单个 html 元素。我认为我的问题很清楚。在重温了一本 asp mvc 的书后,我决定使用部分视图来解决我最初使用 Html Helpers 解决的许多问题。是的,Html Helpers 没有被弃用,我的错!标签助手是仍然存在的 html 助手的改进版本。
标签: c# asp.net-mvc visual-studio asp.net-core