mvc的Controller返回值类型ActionResult详解

一、简介

ActionResult 

操作方法通过执行工作并返回操作结果来响应用户输入。 操作结果表示框架将代表操作方法执行的命令。 ActionResult 类是操作结果的基类。

以下类型从 ActionResult 派生:

  • ContentResult

  • EmptyResult

  • FileResult

  • HttpUnauthorizedResult

  • JavaScriptResult

  • JsonResult

  • RedirectResult

  • RedirectToRouteResult

  • ViewResultBase

  地址: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为下拉控件IDvar value = $(this).val();//获取到当前选中的值if (value != null) {    //Ajax获取舱位,并设置复选框$.post(          //POST$("#getUrl").val(),  //url{ fmid: value },    //datafunction (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()

 [HttpGet]public IHttpActionResult GetBadRequest(ORDER order){if (string.IsNullOrEmpty(order.ID))return BadRequest();return Ok();}

向客户端返回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


转载于:https://www.cnblogs.com/xcsn/archive/2013/01/03/2843115.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/379026.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

栅格布局一般怎么用_建筑混凝土色差大怎么办?用这种方法处理,一般都看不出来...

由于模板锈蚀、脱模剂污染、原材料等原因&#xff0c;建筑混凝土成形后经常会遇到颜色不一致的现象&#xff0c;为此我们总结了混凝土面色差调整施工工艺&#xff0c;可供大家参考使用。一、混凝土面色差调整施工工艺流程及说明基层表面打磨→吸尘器吸尘→湿润墙面→素水泥处理…

FusionChart完全入门手册4

想不想打造让人震撼的图表系统&#xff0c;想不想做出和别人不一样的图表&#xff0c;从本节起&#xff0c;我就带领大家走入这片神奇的土地&#xff0c;让大家去采摘属于自己的创意之果&#xff0c;我们的目标是------个性无罪&#xff0c;个性万岁&#xff01; 问题三、如何做…

ffplay分析(音频解码线程的操作)

《ffplay的数据结构分析》 《ffplay分析&#xff08;从启动到读取线程的操作&#xff09;》 《ffplay分析&#xff08;视频解码线程的操作&#xff09;》 《ffplay 分析&#xff08;音频从Frame(解码后)队列取数据到SDL输出&#xff09;》 《ffplay分析 &#xff08;视频从Fram…

More Effective C++ (运算符)

4.1&#xff1a;谨慎定义类型转换函数<1>容易的方法是利用一个最新的编译器特性&#xff1a;explicit关键字<2>C编译器把">>"作为一个符号来解释&#xff0c;在两个">"间没有空格&#xff0c;语句会产生语法错误。<3>隐式类型转…

php微信获取mediaid超出限制_Python实现每日微信自动打卡

众所周知&#xff0c;因为疫情的原因&#xff0c;很多高校和公司都要求员工每日在微信上进行打卡&#xff0c;来汇报自己的当前身体状态和所处地区。但绝大多数情况下&#xff0c;每天打卡的信息其实是不会变的&#xff0c;我们要做的就是进入公众号——自动登录点进打卡页面—…

ffplay 分析(音频从Frame(解码后)队列取数据到SDL输出)

《ffplay的数据结构分析》 《ffplay分析&#xff08;从启动到读取线程的操作&#xff09;》 《ffplay分析&#xff08;视频解码线程的操作&#xff09;》 《ffplay分析&#xff08;音频解码线程的操作&#xff09;》 《ffplay分析 &#xff08;视频从Frame(解码后)队列取数据到…

pandas 根据列名索引多列数据_Pandas 数据聚合与分组运算[groupby+apply]速查笔记

利用Pandas将数据进行分组&#xff0c;并将各组进行聚合或自定义函数处理。Pandas中Groupby分组与聚合过程导入模块import pandas as pd缩写df表示Dataframe对象分组df.groupby(col1)&#xff1a; 根据col1列将df全部列分组&#xff08;默认&#xff1a;axis0行&#xff09;df[…

ffplay分析 (视频从Frame(解码后)队列取数据到SDL输出)

《ffplay的数据结构分析》 《ffplay分析&#xff08;从启动到读取线程的操作&#xff09;》 《ffplay分析&#xff08;视频解码线程的操作&#xff09;》 《ffplay分析&#xff08;音频解码线程的操作&#xff09;》 《ffplay 分析&#xff08;音频从Frame(解码后)队列取数据到…

redis 备份导出rdb_Redis数据迁移利器之redisshake

“当需要进行Redis实例或集群数据迁移时&#xff0c;我们可以采用导出/导入的方式进行数据迁移&#xff0c;但当需要做数据异地灾备或双活时&#xff0c;再使用传统的方式就不合适了&#xff0c;我们需要借助工具(如redis-port/redis-shake)来完成。”redis-shake介绍redis-sha…

线性结构常规操作(四)

定义存储结构(以单向链表为主) 对于链表的定义&#xff0c;通过结构体进行定义&#xff0c;包括两部分&#xff0c;一是数据域&#xff0c;另一个就是指针&#xff0c;用于指向下一个节点。 1&#xff0c;创建链表 定义链表&#xff1a; struct nodesq{int data;//数据域&a…

ffplay分析 (暂停 / 播放处理)

《ffplay的数据结构分析》 《ffplay分析&#xff08;从启动到读取线程的操作&#xff09;》 《ffplay分析&#xff08;视频解码线程的操作&#xff09;》 《ffplay分析&#xff08;音频解码线程的操作&#xff09;》 《ffplay 分析&#xff08;音频从Frame(解码后)队列取数据到…

源码 状态机_[源码阅读] 阿里SOFA服务注册中心MetaServer(1)

[源码阅读] 阿里SOFA服务注册中心MetaServer(1)0x00 摘要0x01 服务注册中心1.1 服务注册中心简介1.2 SOFARegistry 总体架构1.3 为什么要分层0x02 MetaServer2.1简介2.2 问题0x03 代码结构0x04 启动运行4.1 集成部署4.2 独立部署0x05 总体逻辑5.1 程序主体5.2 配置0x06 启动6.1…

HttpService远程校验

今天学了下HttpService&#xff0c;和大家分享一下。HttpService是用来读取远程数据的一个对象&#xff0c;数据格式为XML。 我做了一个登陆校验的功能&#xff0c;主要是通过HttpService将服务器端的用户数据得到&#xff0c;然后在客户端判断输入的用户名和密码是否存在。 主…

免费开源FTP Server软件FileZilla Server

很多朋友在实际应用中都可能需要用到FTP Server类的软件&#xff0c;这类软件有很多&#xff0c;比较知名的有Serv&#xff0d;U、G6等&#xff0c;这里向大家介绍一下FileZilla Server&#xff0c;Windows平台下一款不错的FTP Server软件&#xff0c;而且是免费的、开源的。 S…

ffplay分析 (seek操作处理)

《ffplay的数据结构分析》 《ffplay分析&#xff08;从启动到读取线程的操作&#xff09;》 《ffplay分析&#xff08;视频解码线程的操作&#xff09;》 《ffplay分析&#xff08;音频解码线程的操作&#xff09;》 《ffplay 分析&#xff08;音频从Frame(解码后)队列取数据到…

android 代码设置 键盘适应_硬核软件,能在电脑上控制iPhone和Android手机

在电脑上控制手机大概已经不是什么新鲜操作&#xff0c;小米、华为都为自家手机和电脑的联动推出了同屏操作之类的功能&#xff0c;此外也可以通过开源软件Scrcpy来在Windows或者macOS上实现对安卓手机的控制&#xff0c;这些基本都只针对安卓手机。近期&#xff0c;奇客君发现…

ijkplayer 消息循环处理过程分析

ijkplayer 消息循环处理过程分析简介一、消息队列初始化1、 initWithContentURLString函数2、 ijkmp_ios_create函数3、 ijkmp_create函数二、消息队列的消息循环处理函数启动1、prepareToPlay函数2、ijkmp_prepare_async函数3、ijkmp_prepare_async_l函数4、ijkmp_msg_loop函数…

json解析对应的value为null_徒手撸一个JSON解析器

Java大联盟致力于最高效的Java学习关注作者 | 田小波cnblogs.com/nullllun/p/8358146.html1、背景JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。相对于另一种数据交换格式 XML&#xff0c;JSON 有着诸多优点。比如易读性更好&#xff0c;占用空间更少等。在 …

平院Python习题

在读写文件之前&#xff0c;用于创建文件对象的函数是&#xff08; A &#xff09;。 A&#xff0e; open B&#xff0e; create C&#xff0e; file D&#xff0e;folder 解析&#xff1a; open(file, mode‘r’, buffering-1, encodingNone, errorsNone, newlineNone, close…

搭建srs服务器(rtmp)

搭建srs服务器&#xff08;rtmp&#xff09; 目录:1、下载srs源码&#xff08;从码云上&#xff09;&#xff1a;2、 切换到srs.oschina&#xff1a;3、 这里使用3.0版本&#xff1a;4、 切换到trunk&#xff1a;5、 编译&#xff1a;6、 启动&#xff1a;7、查看日志输出&…