【问题标题】:HTML Helper with HTML Helpers Inside内含 HTML 助手的 HTML 助手
【发布时间】:2011-08-24 17:51:39
【问题描述】:

我正试图绕开一些东西;也许这里有人可以为我指明正确的方向。

目前有一个表单,上面有一些控件,如下所示:

@Html.ListBoxFor(s => s.SomeListSelection1, new MultiSelectList(Model.SomeList1, "Id", "Text"))
<br />
@Html.ListBoxFor(s => s.SomeListSelection2, new MultiSelectList(Model.SomeList2, "Id", "Text"))
<br />
@Html.ListBoxFor(s => s.SomeListSelection3, new MultiSelectList(Model.SomeList3, "Id", "Text"))
<br />

此表单出现在许多地方,但可用控件略有不同。

“轻微的变化”让我不仅仅想将其作为局部视图,因为我需要将控件复制到许多略有变化的局部或将变化逻辑编码到视图中。

所以我想,“我知道,我会使用很酷的 HTML Helper 东西!!”

但是,所有在线的 HTML 帮助示例都是非常简单的 html 内容。所以问题是如何在 HTML 帮助器中使用其他 HTML 帮助器?或者,如果这是一个错误的问题,是否有另一种更简洁的替代方法来使用一堆条件渲染逻辑将其作为局部视图?

编辑: 虽然答案在技术上确实回答了我的问题,但我在尝试使用博客条目时遇到了麻烦。我在这里找到了一个更好的例子(无论如何对我来说): ASP.NET MVC 3 Custom HTML Helpers- Best Practices/Uses

【问题讨论】:

    标签: asp.net-mvc-3 razor html-helper


    【解决方案1】:

    是的,你可以。
    Helpers 可以包含任意 Razor 标记。

    实际上,辅助方法的直接内容是代码块,而不是标记。
    有关助手如何工作的更深入讨论,请参阅my blog

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-10
      • 1970-01-01
      • 2016-02-07
      • 2013-07-12
      相关资源
      最近更新 更多