【发布时间】:2015-05-19 13:56:30
【问题描述】:
This article 展示了如何在 HtmlHelper<dynamic> 上创建扩展方法,但它似乎不适用于 MVC6(我将 HtmlHelper 更改为 IHtmlHelper)。
错误是:
'IHtmlHelper<PagedList<Tag>>' does not contain a definition for 'CustomSelectList' and the best extension method overload 'HtmlHelperExtensions.CustomSelectList<Tag>(IHtmlHelper<dynamic>, string, IEnumerable<Tag>, Func<Tag, string>, Func<Tag, string>)' requires a receiver of type 'IHtmlHelper<dynamic>'
这在 MVC6 中是如何完成的?
【问题讨论】:
-
您的 cmets 谈论
IHtmlHelper<dynamic>,而您的错误消息指定IHtmlHelper<PagedList<Tag>>。除非您为您的模型使用dynamic(通过不指定@model指令),否则您需要使您的辅助方法通用。 -
@MattDeKrey,如果我将其设为泛型,泛型类型会是模型的类型吗?我真正想要的是能够在 PagedList 中使用
Tag类型。比如:@model PagedList<Tag>,然后是@Html.OrderByLinkFor(t => t.Name)(其中t是Tag而不是PagedList<Tag>)。这可能吗?
标签: html-helper asp.net-core asp.net-core-mvc