asp.net-mvc - 是否可以使 HtmlHelper 扩展方法仅对具有特定类型的 View 可用

标签 asp.net-mvc extension-methods html-helper generic-method

我正在尝试为 IEnumerable 集合实现我自己的分页。所以,我有一个名为 PagedList 的类。我完成了类本身,我只需要编写一个 HtmlHelper 扩展方法来呈现实际页面。这将是最简单的方法(至少我能想到):

public static MvcHtmlString Paginate<TModel>(this HtmlHelper<TModel>,string url){
      //do the stuff here
      return new MvcHtmlString("Hi");
}

但是,是否可以使此方法仅在那些强类型为 PagedList 的 View 中可用?

最佳答案

虽然@Ehsan Sajjad 的回答是正确的,但我找到了一种更简洁的方法来完成此任务:

public static MvcHtmlString Paginate<T>(this HtmlHelper<PagedList<T>> helper,string url){
    .......
}

我试过了,确实有效。但可能还有其他一些我目前无法想到的含义,因此欢迎任何评论或更正。

关于asp.net-mvc - 是否可以使 HtmlHelper 扩展方法仅对具有特定类型的 View 可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28830769/

相关文章:

c# - 默认模型绑定(bind)器不绑定(bind) IEnumerable 中的 Nullable 类型

c# - 在这种情况下,为什么 "Specified cast is not valid."是没有意义的。或者是吗?

c# - 为什么我不能在扩展 List 的类中调用 OrderBy?

单元测试期间的 C# 扩展方法奇怪

c# - 表达式定义说明

c# - 操作使用变量值作为参数名称

c# - 如何在 jQuery DataTables 中添加静态列

html - 在 ASP.Net MVC 中控制输出缩进

c# - 如何使用 Javascript 单击按钮时触发 HTML 帮助程序

c# - HtmlTable 和 TagBuilder 的区别 ("table")