【问题标题】:Asp.net core: Is it a good idea to use tag helpers to generate search results?Asp.net core:使用标签助手生成搜索结果是个好主意吗?
【发布时间】: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


【解决方案1】:

我不会使用 html 助手。

我不会使用 c# 代码来生成 HTML。我会使用 html 来创建 html。我会通过模型来查看和使用 Razor。

另一种解决方案是使用一些javascript templating engines

如果你想要 SEO 友好的网站,我最近使用的第三种解决方案是 React.js,结合 ReactJS.NET

【讨论】:

  • 是的,使用带有 ajax 请求的模板的另一个好处是客户端能够更好地缓存 HTML 页面,从而减少流量
  • 如果我在 foreach 循环中使用强类型的局部视图来迭代主视图中的搜索结果是更好的解决方案?
猜你喜欢
  • 1970-01-01
  • 2011-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-02
  • 2018-10-01
  • 2019-03-09
相关资源
最近更新 更多