关于创建自定义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")
{
...
}
最佳答案
您可以将方法放在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/
关于asp.net-mvc - 自定义HTML帮助器,这是什么:此HtmlHelper html,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30737633/