那么,在WebAPI里面是否也存在类似的用法呢。呵呵,在这点上面,微软总是贴心的。在WebApi的ApiController这个抽象类里面,为我们封装了Json<T>(T content)这个方法,它的用法和MVC里面的JsonResult基本类似。我们通过一个例子来说明它的用法:
[HttpGet]
public IHttpActionResult GetOrder()
{
var lstRes = new List<ORDER>();
//实际项目中,通过后台取到集合赋值给lstRes变量。这里只是测试。
lstRes.Add(new ORDER() { ID = "aaaa", NO = "111", NAME = "111", DESC = "1111" });
lstRes.Add(new ORDER() { ID = "bbbb", NO = "222", NAME = "222", DESC = "2222" });
return Json<List<ORDER>>(lstRes);
}
看到这个代码,有人就疑惑了,我们定义的返回值类型是IHttpActionResult类型,直接返回Json<T>(T content)这样可行么?我们将Json转到定义看看:
protected internal JsonResult<T> Json<T>(T content);
我们继续将JsonResult<T>转到定义
原来JsonResult<T>是实现了IHttpActionResult接口的,难怪可以直接返回呢。
知道了这个,我们直接在Web里面通过ajax请求来调用:
$(function () {
$.ajax({
type: 'get',
url: 'http://www.easck.com/>
2、Ok()、Ok<T>(T content)
除了Json<T>(T content),在ApiController里面还有另外一个比较常用的方法:Ok()。同样,我们将Ok()转到定义











