首页 > 代码库 > MVC5 您不能调用控制器“xx”上的操作方法“xx”,因为该方法是一种泛型方法
MVC5 您不能调用控制器“xx”上的操作方法“xx”,因为该方法是一种泛型方法
在 MVC5 中当使用 routes.MapMvcAttributeRoutes() 添加路由属性是导致在控制器创建的泛型方法调用错误:
Cannot call action method ‘System.Collections.Generic.IEnumerable1[System.Web.Mvc.SelectListItem] GetSelectList[T](System.Collections.Generic.IEnumerable
1[T], System.String, System.String, System.String, System.Object)‘ on controller ‘PublicationSystem.Controllers.BaseController‘ because the action method is a generic method.
Parameter name: methodInfo
例如:
public void AddArbet<T>(T bet, int userId) { string key = "APIFilterArbet" + userId + ""; List<T> bets = GetArbets<T>(userId); if (bets != null) { if (bets.Count > 50) { bets.Clear(); } bets.Add(bet); _cacheManager.Set(key, bets, 60); } }
解决方法: 只需要把 public void AddArbet<T>(T bet, int userId) 把 public -> protected 即可 ,可以了下MVC 控制器继承工作原理。
MVC5 您不能调用控制器“xx”上的操作方法“xx”,因为该方法是一种泛型方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。