gpt4 book ai didi

ASP.NET MVC : When to use custom HTML helper methods vs Html. RenderAction吗?

转载 作者:行者123 更新时间:2023-12-04 03:00:00 25 4
gpt4 key购买 nike

对于何时使用自定义帮助器方法,何时使用RenderAction以及何时仅使用ViewData来说,我还是不清楚的。它们的某些功能略有重叠。

例如,如果要创建“类别”导航栏,是否可以创建一个新的帮助器方法并将其放置在某些局部 View 中?最初我虽然这样做,但是我在一些博客上阅读了使用RenderAction的信息。我一直在来回思考,不仅可以使用此示例,还可以使用一些帮助。

假设类别列表来自某些数据源。

最佳答案

我遵循的一般准则是:

HtmlHelper方法:

  • 用于标准化标记。我使用助手来确保我的表单字段,输入按钮和图像标签使用一致的标记。
  • 当结果标记最小时使用。少量的文本,表单字段标记等。我不使用帮助器来呈现完整的域对象。
  • 对少量离散参数进行操作。如果我需要遍历一个集合并显示一些东西,那只是部分原因。如果我需要大量输入,那也是部分的。
  • 不包含任何业务逻辑,仅包含表示逻辑。参数通常是解决方案域中的对象,而不是业务/问题域中的对象。
  • 通常范围很广,适用于应用程序的大部分。

  • 局部渲染:
  • 当我想将大 View 分解成较小的块时使用。该模型应该是“主” View 的模型的子集。
  • 局部 View 通常仅由某些 Controller 或区域使用。

  • 渲染操作:
  • 当我想要创建可以以各种方式组合的小功能块时使用。
  • 最常用于生成适用于许多 Controller 或区域的内容,例如导航控件。

  • ViewData:

    我将使用ViewData跟踪应用于所有 View (例如当前用户)的全局数据。如果我需要一种一致的方式来显示此数据,通常会为其创建一个部分,然后在母版页中执行RenderPartial()。

    关于ASP.NET MVC : When to use custom HTML helper methods vs Html. RenderAction吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2239732/

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