【问题标题】:How to Get HtmlHelper in MVC 6如何在 MVC 6 中获取 HtmlHelper
【发布时间】:2015-01-12 05:01:21
【问题描述】:

使用 MVC 6.0 beta1 时,我可以在 MVC 源代码中看到 GetHtmlHelper 有一个实用程序 DefaultTemplatesUtilities.cs。但是这个 HtmlHelper 只返回在 CreateViewEngine() 方法中设置的格式化输出。

如何创建viewEngine 以便呈现正常的html。

我需要通过代码获取HtmlHelper,并用它来生成一些html。即htmlHelper.EditorFor(model=>model.Property)

【问题讨论】:

  • 你到底想做什么? MVC 6 应用程序中的每个视图页面 (CSHTML) 文件都可以通过键入 @Html.TextBox(...) 等来访问 HTML 帮助程序。
  • 我需要通过代码为对象的属性生成Editors。我可以简单地在视图中使用 Html.EditorFor,但需要在控制器中进行。我的目标是有一些东西可以自动生成基于复杂模型的编辑器,即具有自定义对象列表作为属性的类。在 mvc 源代码中使用 DefaultTemplatesUtilities.cs,我可以根据提供的模型获取 HtmlHelper。但我无法获得编辑。
  • 我要关闭这个并用更好的措辞提出一个新问题
  • 如果这是您自己的问题,我认为您可以在问题下方(标签附近)看到一个delete 按钮,只需将其删除而不是尝试关闭它。
  • 我认为他想要的是创建一个 ViewModel,其中包含在控制器的 index 方法中创建的 IHtmlString 属性。我认为您不能从控制器内部创建 HTML 标记,因为这是预览引擎渲染阶段 - HtmlHelpers 供视图使用

标签: asp.net-core asp.net-core-mvc


【解决方案1】:

您可以使用依赖注入到您的控制器构造函数中获取 HtmlHelper。

查看我的Answer 以获取更详细的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 2012-04-21
    • 2012-04-21
    相关资源
    最近更新 更多