【发布时间】:2016-08-03 17:37:41
【问题描述】:
这里不清楚http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2 如何在 ApiController 方法中使用多个参数以及调用它的 URL 是什么。有什么线索吗?
C#
[RoutePrefix("api/workorders")]
public class WorkOrdersController : ApiController
{
[Route("WorkOrdersByDates")]
[HttpGet]
public IEnumerable<WorkOrderItemView> GetWorkOrdersByDates(string startDate, string endDate)
{
var r = new List<WorkOrderItemView>();
//
return r;
}
}
AJAX
var startDate = $('#StartDate').val();
var endDate = $('#EndDate').val();
$.ajax(
{
url: "api/workorders/WorkOrdersByDates",
type: "GET",
contentType: "application/json",
data: JSON.stringify({ startDate: "' + endDate + '", endDate: "' + endDate + '" }),
success: function (result) {
alert(result.Result);
}
});
Global.asax
protected void Application_Start()
{
RouteTable.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = System.Web.Http.RouteParameter.Optional }
);
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
【问题讨论】:
-
你不应该对这些参数使用
JSON.stringify,只需给它原始对象。
标签: c# ajax http-get asp.net-apicontroller