解析ActionResult子类JsonResult

前言

MVC我是11开始使用的,当时还是在上地软件园一小型互联网公司,当时是MVC2.0+Linq to sql。后来接着学习MVC3,MVC3的出现确实让我有种眼前一亮的感觉,期间我不断的写各种demo,一直到现在再看MVC时就有点生疏了,有一年多没用了,好多知识很细节都遗忘了。

看到同事的代码

前几天看到同事的代码, 其中看到了他对Json的用法,大致思路就是从数据库返回结果集,然后用自定义JsonHelper把结果集处理成Json字符串返回给客户端使用。也就是说把json字符串放入 return Json(strJson);

看完就觉的不对劲,MVC Json是这样用? 那么大家都知道JsonResult内部其实是使用JavaScriptSerializer 来序列化结果集的, 也就是说你直接把结果集扔进去,返回给客户端就已经是Json对象了,不需要你再手动处理,实在是多此一举。

正确使用

public JsonResult GetAllStudents()
        {
            var students = new List<Student>
            {
                new Student(){ID  =1,Name = "张三",Age =20, Birthday = DateTime.Now},
                new Student(){ID  =2,Name = "李四",Age =20, Birthday = DateTime.Now}
            };

            var result = new JsonResult();
            result.Data = students;
            result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
            return result;

        }

JsonResult对日期类型的序列化

想到这一步时以前也遇到过没去探究, 昨儿一个同事问我这个问题,以前的做法都是在js中直接处理,这样就是麻烦些,后续用到日期的地方都需要在js中处理, 那么现在的解决方法就是自己重写JsonResult, 然后使用Newtonsoft.Json来自己定义日期格式。

时间: 2024-10-13 06:41:50

解析ActionResult子类JsonResult的相关文章

Result(ActionResult、JsonResult、JavaScriptResult等)

一丶ActionResult 应用于Action方法前面的类型,它是Action的返回值,代表Action的执行结果. public ActionResult Index() { return View(); }  二丶JsonResult 返回Json字符串,但ajax接受到后,会自动转换成Json对象进行使用. public ActionResult Val1() { //生成3个随机数 Random rd = new Random(); var a = rd.Next(1, 1000);

SpringMVC 控制器中 动作方法返回其他类型(输出ActionResult子类)

初来乍到,多多包涵. EmptypeResult:输出空类容 ContentResult:输出文本内容 return Content("数据"); JsonResult:输出josn数据 return Json(数据, JsonRequestBehavior.AllowGet); JavaScriptResult:输出js脚本 return javascript("js脚本") RedirectResult:重定向 return Redirect("~/控

第五节:从源码的角度理解各种Result(ActionResult、JsonResult、JavaScriptResult等)

一. 背景 二. 逐个分析 1. 自动属性 1. 自动属性 1. 自动属性 1. 自动属性 1. 自动属性 1. 自动属性 1. 自动属性 1. 自动属性 三. 自己扩展 四. 重点研究(ViewResult)

Asp.net MVC 之 ActionResult

Action运行完后,回传的值通过ActionResult 类别或者其衍生的类别操作.ActionResult是一个抽象类,因此,Asp.net MVC 本身就实作了许多不同类型的ActionResult的子类别. ActionResult 子类以及说明: 常用的ViewResult用来回传一个View,即HTML的页面内容: PartialViewResult用来回传一个View,但是这个View是PartialView: RedirectResult用来将网页转向其他的网址: EmptyRe

ActionResult

public abstract class ActionResult { public abstract void ExecuteResult(ControllerContext context); } EmptyResult 无论一个Action返回值是Void还是其他数据类型,都会创建相应的ActionResult. 如果一个Action方法的返回值时Void或者Null,会生成一个EmptyResult对象. EmptyResult主要起到了适配器的作用,让所有的用法保持一致. Actio

ASP.NET Core 入门教程 4、ASP.NET Core MVC控制器入门

原文:ASP.NET Core 入门教程 4.ASP.NET Core MVC控制器入门 一.前言 1.本教程主要内容 ASP.NET Core MVC控制器简介 ASP.NET Core MVC控制器操作简介 ASP.NET Core MVC控制器操作简介返回类型简介 ASP.NET Core MVC控制器操作简介返回类型示例 ASP.NET Core MVC控制器参数映射逻辑说明 ASP.NET Core MVC控制器参数映射/获取示例 2.本教程环境信息 软件/环境 说明 操作系统 Win

030.自定义的MVC框架

.LOG自定义的MVC框架 M: Model模型V: View 视图C: Controller 控制器 ASP.Net 1. Web窗体编程2. Mvc编程 IHttpHandler任何处理web请求的类必须实现此接口void ProcessRequest(HttpContext context)bool IsReuseable{get;} 使用IHttpHandler实现登录与注册1.新建UserHandelr:IHttpHandler接口2.web.config配置,处理 /user.do请

Fireasy

Fireasy与Asp.net MVC结合 Fireasy之前都是使用HttpService来为jquery ajax提供服务,这个HttpService实际上和MVC的原理机制是一样的,只是它支持两种方式,一种是使用统一的一个类来提供服务(基于MEF导入),另一种是使用aspx的类文件提供服务,具体使用哪一种,根据项目的性质来决定. Asp.net MVC也就了解了一些皮毛,还不是很熟悉,正在深度学习中.不过基于以前的开发习惯,我觉得MVC要进行以下几点的改进: (1)异常处理.MVC实现了一

MVC系列——MVC源码学习:打造自己的MVC框架(四:自定义视图)

前言:通过之前的三篇介绍,我们基本上完成了从请求发出到路由匹配.再到控制器的激活,再到Action的执行这些个过程.今天还是趁热打铁,将我们的View也来完善下,也让整个系列相对完整,博主不希望烂尾.对于这个系列,通过学习源码,博主也学到了很多东西,在此还是把博主知道的先发出来,供大家参考. 本文原创地址:http://www.cnblogs.com/landeanfen/p/6019719.html MVC源码学习系列文章目录: MVC系列——MVC源码学习:打造自己的MVC框架(一) MVC