JsonResult,Controller.Json

表示一个类,该类用于将 JSON 格式的内容发送到响应。

ContentEncoding:编码格式(最好按标准utf-8)

ContentType: mime类型

Data:数据设置

JsonRequestBehavior:请求类型,该值指示是否允许来自客户端的 HTTP GET 请求,枚举

MaxJsonLength:获取或设置数据的最大长度。

RecursionLimit:获取或设置递归限制

这么篇文章层次结构画的挺好的(原文:http://www.cnblogs.com/celery94/archive/2011/01/12/1933541.html

这个类其实就是,mvc为我们封装的服务器端的方便使用json与客户端交互的类,而我们往往不直接使用该类,而是由Controller提供了一个更简化的操作类。

好了直接看后一个方法

protected internal virtual JsonResult Json(object data, string contentType, Encoding contentEncoding, JsonRequestBehavior behavior)

{

return new JsonResult { Data = data, ContentType = contentType, ContentEncoding = contentEncoding, JsonRequestBehavior = behavior };

}

其实方法很简单,就直接创建了一个JsonResult的对象返回了而已。

再来看看JsonResult.data的属性,Object类型的。Json信息为什么是字符串类型 呢。

结合平时的使用,很容易我们就能猜到,不就是方便用对象初始化器创建json对象么。
对象初始化器,其实大胆的猜一下,对象初始化个什么,一般就能想到,肯定是编译器或vs之类为我们创建了这么个对象,只不过是内部完成的。就像匿名函数一样,由于名称自动生成,我们不知道,只能使用一次,所以称之为匿名吧。本质上我们的代码编译完成后,生成的IL肯定是相同的,只不过是编译器为我们提供的一种简便的方法(语法糖)。

从上面的图我们可以很清楚的了解到,MS为我们的Action提供了一系列的返回类型,方便我们使用,从JsonResult我们就可以看出,为我们简化了很多东西,不用我们再拼接json字符串等等,避免了很多错误,相信封装的操作效率上也会比我们自己写要高不少。下面有篇每种返回类型例子的文章,小伙伴么可以看看,都不难。以后Action的返回类型就要用Mvc中提供的ActionResult。(遵循Mvc的标准,习惯)

(原文:http://www.cnblogs.com/key1309/p/3480617.html)

(关于对象初始化器Artech有篇不错的文章,讲的很深入http://www.cnblogs.com/artech/archive/2007/09/30/912166.html

(这里还有篇关于该Action返回JsonResult测试的文章:http://www.cnblogs.com/JustRun1983/p/3251426.html

JsonResult,Controller.Json

时间: 2024-10-10 05:09:50

JsonResult,Controller.Json的相关文章

MVC通过JsonResult返回Json数据,然后在视图页面中通过@Html.Partial()方法加载分部视图

首先,新建一个MVC类型的Web项目: 然后在Model文件夹下定义一个Student实体: public class Student { public int ID { get; set; } public string Name { get; set; } public string Sex { get; set; } public int Age { get; set; } } 然后新建一个Student控制器: using JsonDataWithMVC.Models; using Sy

通过Ajax post Json类型的数据到Controller

View function postSimpleData() { $.ajax({ type: "POST", url: "/Service/SimpleData", contentType: "application/json", //必须有 dataType: "json", //表示返回值类型,不必须 data: JSON.stringify({ 'foo': 'foovalue', 'bar': 'barvalue'

通过自己定义MVC的Controller的Json转换器解决日期序列化格式问题

今日,在MVC框架下使用EasyUI的datagrid载入数据时,服务端返回的Json日期格式为 /Date(1433088000000+0800)/ .须要client进一步转换.并且也不符合EasyUI经常使用的日期格式要求,为此,对MVC框架下的Controller做了一些研究.发现通过对Controller的Json方法进行扩展就能够解决该问题.并且能够通过进一步自己定义序列化类,满足不论什么类型的数据的序列化格式要求. 要实现该目标,须要完毕三个步骤的工作: 1.创建Controlle

通过自定义MVC的Controller的Json转换器解决日期序列化格式问题

今日,在MVC框架下使用EasyUI的datagrid加载数据时,服务端返回的Json日期格式为 /Date(1433088000000+0800)/ ,需要客户端进一步转换,而且也不符合EasyUI常用的日期格式要求,为此,对MVC框架下的Controller做了一些研究,发现通过对Controller的Json方法进行扩展就可以解决该问题,而且可以通过进一步自定义序列化类,满足任何类型的数据的序列化格式要求. 要实现该目标,需要完成三个步骤的工作: 1.创建Controller的派生类,引入

SpringMVC之Controller传递JSON数据到页面

在Controller中,组装好JSON格式的数据,然后输入到页面,或者通过ajax请求在页面进行解析,都可以做到. 1.Controller /** * JSON DATA TO PAGE VEIW * @param user * @param request * @return * @throws IOException */ @RequestMapping("/addUser3") public void add3(HttpServletRequest request,HttpS

.net Mvc Controller 接收 Json/post方式 数组 字典 类型 复杂对象

原文地址:http://www.cnblogs.com/fannyatg/archive/2012/04/16/2451611.html ------------------------------------------------------------------------------------------------------------------ Asp.net Mvc Controller Json数组接收数组字典 类型 复杂对象 方法一,(最复杂的方法)扩展ModelBin

MVC笔记 Controller相关技术

一.Controller的责任 MVC的核心就是Controller(控制器),它负责处理浏览器传送过来的所有请求,并决定要将什么内容响应给浏览器.但Controller并不负责决定内容应该如何显示,而是将特定形态的内容响应给MVC架构,最后才由MVC架构依据响应的形态来决定如何将内容响应给浏览器.如何决定响应内容是View的责任. 二.Controller的类与方法 Controller本身就是一个类(Class),该类有许多方法(Method).在这些方法中,只要是公开方法,该方法就会被视为

一个AJAX的请求。讲诉Json的使用示例

mvc使用JsonResult返回Json数据 <控制器> using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Configuration; using System.Data.SqlClient; using System.Data; using JSON.Models; namespace JSON.Co

ASP.NET MVC 入门4、Controller与Action

原帖地址:http://www.cnblogs.com/QLeelulu/archive/2008/10/04/1303672.html Controller是MVC中比较重要的一部分.几乎所有的业务逻辑都是在这里进行处理的,并且从Model中取出数据.在ASP.NET MVC Preview5中,将原来的Controller类一分为二,分为了Controller类和ControllerBase类.Controller类继承自ControllerBase类,而ControllerBase实现是了