一、简介
ActionResult
操作方法通过执行工作并返回操作结果来响应用户输入。 操作结果表示框架将代表操作方法执行的命令。 ActionResult 类是操作结果的基类。
以下类型从 ActionResult 派生:
地址:https://msdn.microsoft.com/zh-cn/library/system.web.mvc.actionresult.aspx?f=255&MSPPError=-2147217396
我们预览下控制器的基类Controller
简单示例
javascript
<script type="text/javascript"> $(function () { $("#ControlId").change(function () {//ControlId为下拉控件ID var value = $(this).val();//获取到当前选中的值 if (value != null) { //Ajax获取舱位,并设置复选框 $.post( //POST $("#getUrl").val(), //url { fmid: value }, //data function (data) { //success: document.getElementById("id_ccl").innerHTML = ""; var strHtml = ""; var vIsShared = ""; for (var key in data) { for (var result in data[key]) { switch (result.toString()) { case "IsShared": { vIsShared = data[key][result]; break; } default: break; } } strHtml += "<input type=\"checkbox\" id=\"chk\" " + (vIsShared == true ? " checked=\"checked\" " : " ") + " name=\"chk\" value=\"true\" />"; } document.getElementById("id_ccl").innerHTML = strHtml; } , "json" ); //type } else alert(value); }); }); </script>
MVC Controllor:
[HttpPost] public ActionResult GetList(int id) { return Json(eccList); }
或
[HttpGet] public ActionResult GetList(int id) { return Json(eccList, JsonRequestBehavior.AllowGet); }
在MVC下,由于对数据的保护,默认情况下request为post,使用GET请求会被阻止。
如果客户端使用get请求,需要设置behavior为JsonRequestBehavior.AllowGet 。
二、IHttpActionResult
1、Json<T>(T content)
return Json<List<ORDER>>(lstRes);
2、Ok()、 Ok<T>(T content)
return Ok();
return Ok<string>(name);
3、NotFound()
return NotFound();
当需要向客户端返回找不到记录时,有时需要用到NotFound()方法
NotFound()方法会返回一个404的错误到客户端。
4、其他
其他还有一些方法,都有它特定的用途。在此贴出来。
4.1、Content<T>(HttpStatusCode statusCode, T value)
[HttpGet] public IHttpActionResult GetContentResult() { return Content<string>(HttpStatusCode.OK, "OK"); }
向客户端返回值和http状态码。
4.2、BadRequest()
向客户端返回400的http错误。
4.3、Redirect(string location)
[HttpGet] public IHttpActionResult RedirectResult() { return Redirect("http://localhost:21528/api/Order/GetContentResult"); }
将请求重定向到其他地方。
相关: MVC控制器总结
参考:http://www.cnblogs.com/zfdcp-028/p/5788649.html