自定义HTML助手,这是什么:这个HtmlHelper html

时间:2015-06-09 16:20:49

标签: asp.net-mvc html-helper

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

1)我的方法放在哪里,以便它可以与@Html一起使用?我已经弄清楚如何使用像@MyCustomClass这样的东西。我想,要么会奏效。好奇。

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

我正在尝试实施this example

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

1 个答案:

答案 0 :(得分:3)

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

至于第2部分,“这个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/