【发布时间】:2016-01-28 02:46:24
【问题描述】:
api控制器方法是这样的:
public IHttpActionResult GettblEmpleados(int page, int pageSize)
{
var query = db.SPEmpleadosIntranet().ToList();
var totalCount = query.Count();
var totalPages = (int)Math.Ceiling((double)totalCount / pageSize);
var urlHelper = new UrlHelper(Request);
var prevLink = page > 0 ? urlHelper.Link("Empleados", new { page = page - 1, pageSize = pageSize }) : "";
var nextLink = page < totalPages - 1 ? urlHelper.Link("Empleados", new { page = page + 1, pageSize = pageSize }) : "";
var results = query
.Skip(pageSize * page)
.Take(pageSize)
.ToList();
return Ok(query);
}
而我用来消费服务的url是:
但是page总是0,那么prevLink总是空的 http://localhost:12929/api/Empleados?page=0&pageSize=10
我得到的错误是:(抱歉框架是西班牙语)
翻译说找不到路径/Empleados
No se encuentra ninguna ruta con el nombre 'Empleados' en la colección de rutas。\r\nNombre del parametro: name"
这是控制器
public class EmpleadosController : ApiController
{
这是 globa.asax
protected void Application_Start()
{
GlobalConfiguration.Configuration.Formatters.Clear();
GlobalConfiguration.Configuration.Formatters.Add(new JsonMediaTypeFormatter());
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
更新1
这是 webapiconfig
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
【问题讨论】:
-
您的控制器的名称是什么?还有你的路线配置是什么?
标签: c# asp.net asp.net-mvc asp.net-web-api asp.net-mvc-routing