ASP.NET MVC 自定义处理JSON ActionResult类

1、统一JSON格式处理方式,同时指定ContentType类型,解决低版本浏览器获取json时ContentType为application/json提示下载的问题.

public abstract class CustomResult : ActionResult
    {
        public abstract TData GetObject();

        protected JsonSerializerSettings SerializerSettings;

        protected void InitSerialization(ControllerContext context)
        {
            HttpResponseBase response = context.HttpContext.Response;
            response.ContentType = "text/html";
            TData data = GetObject();
            if (SerializerSettings == null)
            {
                SetSerializerSettings();
            }
            response.Write(JsonConvert.SerializeObject(data, Formatting.None, SerializerSettings));
        }

        protected virtual void SetSerializerSettings()
        {
            SerializerSettings = new JsonSerializerSettings
            {
                Converters = new List
                {
                    new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd hh:mm" }
                }
            };
        }

        public override void ExecuteResult(ControllerContext context)
        {
            InitSerialization(context);
        }
    }

Original: https://www.cnblogs.com/zhongkai/p/4033491.html
Author: OneWork
Title: ASP.NET MVC 自定义处理JSON ActionResult类

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/572986/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • nginx重定向规则入门

    Nginx的重定向用到了Nginx的HttpRewriteModule。 使用: rewrite命令 nginx的rewrite相当于apache的rewriterule(大多数情…

    Java 2023年5月30日
    0100
  • ( 十 )、SpringBoot整合微信小程序登录

    yml: wx返回的用户信息: WeChatUtil工具: 登录controller: 全局返回结果: 微信小程序 4.1 初始配置 初始配置 4.2 me.wxml class=…

    Java 2023年5月29日
    0114
  • 读经典【1】重构:改善既有代码的设计

    五星好评。很实用。 最近读了重构原版书,同时也在使用其中的一些技巧来改善工作中的项目,自己改完代码会有成就感。 这本书改变了我原有的思想钢印:代码能成功跑起来就不要去动它。实际上,…

    Java 2023年6月16日
    080
  • 微服务SpringCloud之服务网关zuul二

    Zuul的核心 Filter是Zuul的核心,用来实现对外服务的控制。Filter的生命周期有4个,分别是”PRE”、”ROUTING&#822…

    Java 2023年5月30日
    079
  • 服务引用(消费者)

    前言 本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo 上一篇文章,讲了Dubbo的服务导出: Dubbo源码(三) –…

    Java 2023年6月16日
    083
  • mybatis中的#和$的区别

    将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by &#8220…

    Java 2023年5月30日
    083
  • 设计模式 — Bridge(桥模式)

    桥模式(Bridge) 由于某些类型的固有的实现逻辑,使得它们具有两个变化的维度,乃至多个维度的变化 如何应对这种多维度的变化?如何利用面向对象技术来使得类型可以轻松地沿着两个乃至…

    Java 2023年6月16日
    0114
  • Git常用命令总结

    Git常用命令总结 Git日志 git log git log –all 查看所有分支的log git log –all –graph 图形化展…

    Java 2023年6月6日
    088
  • 22.2.11爬虫基础和数据解析

    find_all和find的使用:1、在提取标签的时候,第一个参数是标签的名字。如果在提取标签的时候想要使用标签属性进行过滤,那么可以在这个方法中通过关键字参数的形式,将属性的名字…

    Java 2023年6月13日
    062
  • 【VUE】1.搭建一个webpack项目

    1.npm之类的安装跳过 2.安装npm install -g @vue/cli-init 初始化项目目录 vue init webpack vue_cutter_point_bl…

    Java 2023年6月5日
    074
  • 数论基础,从入门到入门

    数论基础,从入门到入门 文章目录 数论基础,从入门到入门 一、常用算法 * 1.素数筛法 2.线性筛 3.快速幂 4.矩阵快速幂 5.辗转相除法/欧几里得算法 6.扩展欧几里得 7…

    Java 2023年6月5日
    061
  • Spring Boot 应用在启动时执行代码的五种方式(转)

    原文:https://cloud.tencent.com/developer/article/1562471 作者:日拱一兵 前言 有时候我们需要在应用启动时执行一些代码片段,这些…

    Java 2023年5月30日
    072
  • (转发)远程桌面连接无显示器的 Linux(Ubuntu/Debian等):使用 Xfce

    手头上有台电脑,安装了 Ubuntu,安装了 postgres 数据库,用于开发机,未连接显示器。在 Windows 开发机上,无法通过 VNC, Anydesk 连接远程桌面到 …

    Java 2023年6月9日
    077
  • electron 应用开发优秀实践

    vivo 互联网前端团队-Yang Kun 一、背景 在团队中,我们因业务发展,需要用到桌面端技术,如离线可用、调用桌面系统能力。什么是桌面端开发?一句话概括就是: 以 Windo…

    Java 2023年6月15日
    069
  • linux没有ifconfig命令

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Java 2023年6月7日
    091
  • idea使用教程-常用快捷键

    【1】创建内容:alt+insert【2】main方法:psvm【3】输出语句:sout【4】复制行:ctrl+d【5】删除行:ctrl+y 【6】代码向上/下移动:Ctrl + …

    Java 2023年6月5日
    078
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球