【问题标题】:Do custom HTML helper classes violate the ASP.NET MVC model?自定义 HTML 帮助程序类是否违反 ASP.NET MVC 模型?
【发布时间】:2010-09-28 18:43:15
【问题描述】:

在一篇相关文章中,我提到我发现自定义 HTML 助手在开发时非常有用。例如,当我需要为“网格”分页时,我有一个自定义助手,可以调用 Html.Pager()

有些人指出 HTML 助手违反了 MVC 模型。就个人而言,我认为它与现有的帮助者没有什么不同,例如 Html.Textbox()Html.ActionLink()

我仍在努力了解有关 MVC 的更多信息,因此感谢所有观点。

【问题讨论】:

  • 争论的是什么?我认为没有问题,除非您在让助手访问的内容方面真的很笨拙

标签: c# asp.net-mvc model-view-controller theory html-helper


【解决方案1】:

请注意,现有的帮助程序都是作为 HtmlHelper 类的扩展方法编写的。我们明确采用了这种方法,以便其他人可以编写自己的辅助方法作为 HtmlHelper 的扩展方法。

所以总的来说,这并不违反 MVC 模型。我想这真的取决于你在你的助手中做了什么。助手应该根据传入的参数简单地呈现 html。他们不应该进行任何数据访问等......

它们只是封装用于呈现常见标记片段的代码。如果您这样做,那么您并没有违反 ASP.NET MVC 模型。

【讨论】:

  • 那么,除了呈现 Html 之外,呈现具有数据访问或其他任何东西的应用程序的常见部分的最佳方法是什么?在 MVC 2 中我们有 Html.RenderAction,这可能是最好的方式,因为它来自控制器,但在 MVC 1 中呢?
猜你喜欢
  • 2014-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-02
  • 2010-10-05
  • 2010-09-07
  • 1970-01-01
  • 2023-03-13
相关资源
最近更新 更多