【问题标题】:Custom HTML Helpers, What is: this HtmlHelper html自定义 HTML 助手,什么是:这个 HtmlHelper html
【发布时间】:2015-08-24 14:25:36
【问题描述】:

我有两个关于创建自定义 HTML 助手的问题。

1) 我的方法应该放在哪里以便它可以与@Html 一起使用?我已经弄清楚如何将它与@MyCustomClass 之类的东西一起使用。我想,两者都行。只是好奇。

2) 更重要的是,什么是“this HtmlHelper htmlHelper”?我注意到所有内置的帮助程序,例如 ActionLink,都以这个参数开头,但实际上并没有为它传递任何值。但是...当我尝试创建自己的自定义 HTML 帮助程序时,它似乎需要此参数的值,或者它给了我,“最好的重载方法包含多个 x 参数。”

我正在尝试实现this example:

public static string IsSelected(this HtmlHelper html, string controllers = "", string actions = "", string cssClass = "selected")
{
    ...
}

【问题讨论】:

    标签: asp.net-mvc html-helper


    【解决方案1】:

    您可以将方法放在 App_Code 文件夹或自定义文件夹中。我更喜欢在我的应用程序中创建一个名为 \Infrastructure 的主文件夹。在此之下,我创建了一个“Views”文件夹并添加了一个“ViewExtensions”类。然后,当我想使用它时,我将“@using App.MVC.Infrastructure.Views”添加到我的视图顶部。

    至于第 2 部分,“this HtmlHelper htmlHelper”告诉 C# 您正在为 HtmlHelper 类创建扩展方法。见https://msdn.microsoft.com/en-us/library/bb383977.aspx

    http://develoq.net/2011/how-to-create-custom-html-helpers-for-asp-net-mvc-3-and-razor-view-engine/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-07
      • 1970-01-01
      • 2011-07-09
      • 2015-05-29
      • 2011-05-12
      • 2015-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多