gpt4 book ai didi

asp.net-mvc - 我们什么时候应该使用 Html Helpers、Razor Helpers 或 Partial Views?

转载 作者:行者123 更新时间:2023-12-02 04:07:09 27 4
gpt4 key购买 nike

这三个不同的功能存在于 Razor View 引擎中,可用于实现类似的结果。最后,它们三个都只是渲染 HTML 代码片段,但定义和使用它们的方式却相当不同。我知道:

Html Helpers 是作为 HtmlHelper 类的扩展方法创建的。他们经常使用 TagBuilder 类生成一些 HTML,并且始终应返回 IHtmlString

Razor 助手(@helper 方法)可以在本地(在同一个 razor 文件中)或全局(在 App_Code 目录中)定义。它们是 HTML 代码的小片段,可以专门在 Razor 文件中重复使用。

最后,部分 View 只是常规 View 文件,可以使用 @Html.Partial 帮助程序将其包含在其他 View 文件中。

我的问题是:

这些功能中的每一项是否都有特定的场景?或者归根结底是通过不同的口味来达到相同的结果?

最佳答案

HTML Helpers 用于可重用组件。例如WebGrid、Pager 等。它们作为程序集分发,不依赖于 Razor。如果满足以下条件,请选择此选项:

  • 功能真正可重用并适用于任何应用
  • 您不希望人们修改它,或者想要对其进行版本控制

部分 View 是一种将大 View 分割成更小的部分以使事情更易于管理的方法。它们对于特定于您的应用程序的可重用性也很有用。它们由 View 引擎定位,因此您可以在不同位置(例如 View /共享)定义相同的部分,从而允许您自定义每个 Controller 、区域或显示模式。如果满足以下条件,请选择此选项:

  • 功能是特定于应用程序的
  • 想要自定义每个 Controller 、区域或显示模式

本地助手是一种多次执行同一模板而无需重复执行的方法。您还可以使用它将 View 分成多个部分以避免深度嵌套,但将所有内容保留在同一个文件中。如果满足以下条件,请选择此选项:

  • 功能是特定于 View 的

应用程序帮助程序(在 App_Code 中)是本地帮助程序和 HTML 帮助程序的混合体。如果满足以下条件,请选择此选项:

  • 相比 TagBuilder 更喜欢 Razor
  • 不介意分发文件而不是程序集
  • 优先选择类型安全的方法调用语法,而不是 @Html.Partial(name)

关于asp.net-mvc - 我们什么时候应该使用 Html Helpers、Razor Helpers 或 Partial Views?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18046236/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com