• 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

     
  • 相关阅读:
    Nginx lingering_close延迟关闭
    Nginx 减少关闭连接的time_wait端口数量
    Tcp协议的keepalive功能
    Nginx 慢启动与拥塞窗口
    Nginx 优化缓冲区与传输效率
    linux 目录分类与文件操作
    Nginx 滑动窗口与缓冲区
    python 关键字yield
    模块与包
    面向对象
  • 原文地址:https://www.cnblogs.com/superCow/p/3793240.html
Copyright © 2020-2023  润新知