ylbtech-Unitity: cs-JsonHelper

AjaxResult.cs  FormatJsonExtension.cs

1.A,效果图返回顶部
 
1.B,源代码返回顶部
1.B.1,AjaxResult.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Script.Serialization; namespace Core.JsonHelper
{
/// <summary>
/// 前台Ajax请求的统一返回结果类
/// </summary>
public class AjaxResult
{
private AjaxResult()
{
} private bool iserror = false; /// <summary>
/// 是否产生错误
/// </summary>
public bool IsError { get { return iserror; } } /// <summary>
/// 错误信息,或者成功信息
/// </summary>
public string Message { get; set; } /// <summary>
/// 成功可能时返回的数据
/// </summary>
public object Data { get; set; } #region Error
public static AjaxResult Error()
{
return new AjaxResult()
{
iserror = true
};
}
public static AjaxResult Error(string message)
{
return new AjaxResult()
{
iserror = true,
Message = message
};
}
#endregion #region Success
public static AjaxResult Success()
{
return new AjaxResult()
{
iserror = false
};
}
public static AjaxResult Success(string message)
{
return new AjaxResult()
{
iserror = false,
Message = message
};
}
public static AjaxResult Success(object data)
{
return new AjaxResult()
{
iserror = false,
Data = data
};
}
public static AjaxResult Success(object data, string message)
{
return new AjaxResult()
{
iserror = false,
Data = data,
Message = message
};
}
#endregion /// <summary>
/// 序列化
/// </summary>
/// <returns></returns>
public override string ToString()
{
return new JavaScriptSerializer().Serialize(this);
}
}
}

1.B.2,FormatJsonExtension.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Web;
using System.Web.Mvc;
using Newtonsoft.Json; namespace Core.WebHelper
{
/// <summary>
/// 格式化json扩展
/// </summary>
public static class FormatJsonExtension
{
/// <summary>
/// 普通序列化(不进行UI友好的json化)
/// </summary>
/// <param name="c">控制器</param>
/// <param name="data">数据</param>
/// <returns></returns>
public static FormatJsonResult JsonFormat(this Controller c, object data)
{
FormatJsonResult result = new FormatJsonResult();
result.NotLigerUIFriendlySerialize = true;
result.Data = data;
return result; }
/// <summary>
/// UI友好的json格式序列化
/// </summary>
/// <param name="c"></param>
/// <param name="data"></param>
/// <param name="IsError"></param>
/// <param name="message"></param>
/// <returns></returns>
public static FormatJsonResult JsonFormat(this Controller c, object data, bool IsError, string message)
{
FormatJsonResult result = new FormatJsonResult(); result.Data = data;
result.Message = message;
result.IsError = IsError;
return result;
}
/// <summary>
/// 根据操作和提供的数据判断执行状态
/// </summary>
/// <param name="c">控制器</param>
/// <param name="data">数据</param>
/// <param name="op">操作类型(增删改查,等等)</param>
/// <returns></returns>
public static FormatJsonResult JsonFormat(this Controller c, object data, SysOperate op)
{ //if (!data.IsNullOrEmpty())
{
return JsonFormatSuccess(c, data,"成功");// op.ToMessage(true));
}
return JsonFormatError(c,"失败");// op.ToMessage(false));
}
/// <summary>
/// 根据操作和提供的数据判断执行状态
/// </summary>
/// <param name="c">控制器</param>
/// <param name="data">数据</param>
/// <param name="status">数据</param>
/// <param name="op">操作类型(增删改查,等等)</param>
/// <returns></returns>
public static FormatJsonResult JsonFormat(this Controller c, object data, bool status, SysOperate op)
{ if (status)
{
return JsonFormatSuccess(c, data, "成功");//op.ToMessage(true));
}
return JsonFormatError(c, "失败");//op.ToMessage(false));
}
/// <summary>
/// 成功的json返回
/// </summary>
/// <param name="c"></param>
/// <param name="data"></param>
/// <param name="message"></param>
/// <returns></returns>
public static FormatJsonResult JsonFormatSuccess(this Controller c, object data, string message)
{
return JsonFormat(c, data, false, message);
}
/// <summary>
/// 失败的json返回
/// </summary>
/// <param name="c"></param>
/// <param name="message"></param>
/// <returns></returns>
public static FormatJsonResult JsonFormatError(this Controller c, string message)
{
return JsonFormat(c, null, true, message);
} }
/// <summary>
/// JsonResult格式化扩展
/// </summary>
public class FormatJsonResult : ActionResult
{
private bool iserror = false;
/// <summary>
/// 是否产生错误
/// </summary>
public bool IsError
{
get { return iserror; }
set { this.iserror = value; }
} /// <summary>
/// 错误信息,或者成功信息
/// </summary>
public string Message { get; set; } /// <summary>
/// 成功可能时返回的数据
/// </summary>
public Object Data { get; set; }
/// <summary>
/// 正常序列化方式(为True则不进行UI友好的序列化)
/// </summary>
public bool NotLigerUIFriendlySerialize { get; set; }
public override void ExecuteResult(ControllerContext context)
{ if (context == null)
{
throw new ArgumentNullException("context");
}
HttpResponseBase response = context.HttpContext.Response;
response.ContentType = "application/json"; StringWriter sw = new StringWriter();
JsonSerializer serializer = JsonSerializer.Create(
new JsonSerializerSettings
{
// Converters = new JsonConverter[] { new Newtonsoft.Json.Converters.IsoDateTimeConverter() },
ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
NullValueHandling = NullValueHandling.Ignore }
); using (JsonWriter jsonWriter = new JsonTextWriter(sw))
{
jsonWriter.Formatting = Formatting.Indented; if (!NotLigerUIFriendlySerialize)
serializer.Serialize(jsonWriter, this);
else
serializer.Serialize(jsonWriter, Data);
}
response.Write(sw.ToString()); }
} /// <summary>
/// 系统的常见操作
/// </summary>
public enum SysOperate
{
Add = ,
Update = ,
Load = ,
Delete = ,
Operate = ,
UnkownError =
} #region 友好的提示信息
/// <summary>
/// 友好的提示信息
/// </summary>
public static class FriendlyMessage
{
//#region
///// <summary>
///// 获取消息(根据操作类型和状态)
///// </summary>
///// <param name="sysOp">操作类型</param>
///// <param name="status">执行状态</param>
///// <returns></returns>
//public static string ToMessage(this SysOperate sysOp, bool status)
//{
// string message = "";
// //根据操作类型和执行状态返回消息
// switch (sysOp)
// {
// case SysOperate.Add:
// message = status ? SystemMessage.AddSuccess.ToMessage() : SystemMessage.AddError.ToMessage();
// break;
// case SysOperate.Load:
// message = status ? SystemMessage.LoadSuccess.ToMessage() : SystemMessage.LoadError.ToMessage();
// break;
// case SysOperate.Update:
// message = status ? SystemMessage.UpdateSuccess.ToMessage() : SystemMessage.UpdateError.ToMessage();
// break; // case SysOperate.Delete:
// message = status ? SystemMessage.DeleteSuccess.ToMessage() : SystemMessage.DeleteError.ToMessage();
// break;
// case SysOperate.Operate:
// message = status ? SystemMessage.OperateSuccess.ToMessage() : SystemMessage.OperateError.ToMessage();
// break;
// case SysOperate.UnkownError:
// message = SystemMessage.UnkownError.ToMessage();
// break;
// }
// return message;
//}
///// <summary>
///// 获取系统管理模块友好提示信息
///// </summary>
///// <param name="code"></param>
///// <returns></returns>
//public static string ToMessage(this SystemMessage code)
//{
// string message = "";
// switch (code)
// {
// case SystemMessage.AddSuccess:
// message = "添加成功!";
// break;
// case SystemMessage.AddError:
// message = "添加失败!";
// break;
// case SystemMessage.DeleteSuccess:
// message = "删除成功!";
// break;
// case SystemMessage.DeleteError:
// message = "删除失败!";
// break;
// case SystemMessage.LoadSuccess:
// message = "加载成功!";
// break;
// case SystemMessage.LoadError:
// message = "加载失败!";
// break;
// case SystemMessage.OperateSuccess:
// message = "操作成功!";
// break;
// case SystemMessage.OperateError:
// message = "操作失败!";
// break;
// case SystemMessage.UpdateSuccess:
// message = "更新成功!";
// break;
// case SystemMessage.UpdateError:
// message = "更新失败!";
// break;
// case SystemMessage.UnkownError:
// message = "未知错误!";
// break;
// default:
// message = "错误";
// break;
// }
// return message;
//}
//#endregion //#region 获取用户模块界面友好的消息提示
///// <summary>
///// 获取用户模块界面友好的消息提示
///// </summary>
///// <param name="code"></param>
///// <returns></returns>
//public static string ToMessage(this UserMessage code)
//{
// string message = "";
// switch (code)
// {
// case UserMessage.UserNotLogin:
// message = "用户未登录!";
// break;
// case UserMessage.UserLoginSuccess:
// message = "登录成功!";
// break;
// case UserMessage.UserLoginError:
// message = "用户登录失败!";
// break;
// case UserMessage.ChangePasswordSuccess:
// message = "修改密码成功!";
// break;
// case UserMessage.ChangePasswordError:
// message = "修改密码失败!";
// break;
// case UserMessage.UnkonwnError:
// message = "未知错误";
// break;
// default:
// message = "未知错误";
// break;
// }
// return message;
//}
//#endregion
}
#endregion }

1.B.3,

1.C,下载地址返回顶部
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

cs-JsonHelper的更多相关文章

  1. 【C#公共帮助类】JsonHelper 操作帮助类, 以后再也不用满地找Json了,拿来直接用

     四个主要操作类:JsonConverter .JsonHelper .JsonSplit .AjaxResult 一.JsonConverter: 自定义查询对象转换动态类.object动态类转换j ...

  2. asp.net的JSONHelper 类

    调用方法: ){    jsons = json.ToString();}else{    jsons = @"{success:false}";}return jsons; JS ...

  3. 【C#公共帮助类】JsonHelper 操作帮助类

    四个主要操作类:JsonConverter .JsonHelper .JsonSplit .AjaxResult 一.JsonConverter: 自定义查询对象转换动态类.object动态类转换js ...

  4. asp.net ajax传递Json给aspx.cs后台 webmethod方法传递json

    1.提取一个向后台写入数据的方法 ///向后台cs页面请求数据的方法 function myPost(url,data,func) { $.ajax({ type: "post", ...

  5. [C#] 剖析 AssemblyInfo.cs - 了解常用的特性 Attribute

    剖析 AssemblyInfo.cs - 了解常用的特性 Attribute [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5944391.html 序 ...

  6. Atitit 软件架构方法的进化与演进cs bs soa roa  msa  attilax总结

    Atitit 软件架构方法的进化与演进cs bs soa roa  msa  attilax总结 1.1. 软件体系架构是沿着单机到 CS 架构,再到 BS 的三层架构甚至多层架构逐步发展过来的,关于 ...

  7. 从java文件和CS文件里查询方法使用次数工具

    前几天,领导让我找一下老系统(Java)里getRemoteUser方法都哪个文件用了,package是什么,方法被调用了多少次,当时因为着急,所以,直接人工找的,但是以后要是再出现,人工找就太讨厌了 ...

  8. 关于 WP 开发中.xaml 与.xaml.cs 的关系

    今天我们先来看一下在WP8.1开发中最长见到的几个文件之间的关系.比较论证,在看这个问题之前我们简单看看.NET平台其他两个不同的框架: Windows Forms 先看看Window Forms中的 ...

  9. JSON扩展类——JsonHelper

    1.引用Newtonsoft.Json库(JSON.NET). 2.复制粘贴JsonHelper吧. 源代码: using System; using System.Collections.Gener ...

  10. .net 用户控件ascx.cs注册js脚本代码无效果

    在.net web项目中碰到一个比较奇怪的问题,网上没找到解决方案,先自己mark一下 问题描述: 添加一个用户控件ascx,在后端.cs添加js注册脚本,执行后没有弹出框 注册脚本为: this.P ...

随机推荐

  1. [bzoj2427][HAOI2010]软件安装——强连通分量+树形DP

    题目大意 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi.我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和最大). 但是 ...

  2. IOS开发代码分享之获取启动画面图片的string

    http://www.jb51.net/article/55309.htm 本代码支持 iPhone 6 以下. 支持 iPhone 及 iPad ? 1 2 3 4 5 6 7 8 9 10 11 ...

  3. Python学习笔记 使用数据库SQlite Mysql

    SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用当中, 甚至在IOS和Android的APP中都可以集成 Python就内 ...

  4. Linux环境下通过ODBC访问MSSql Server

    为了解决Linux系统连接MSSql Server的问题,微软为Linux系统提供了连接MSSql Server的ODBC官方驱动.通过官方驱动,Linux程序可以方便地对MSSql Server进行 ...

  5. 错误”ORA-12560: TNS: 协议适配器错误“解决方法

    错误”ORA-12560: TNS: 协议适配器错误“解决方法 原本是可以通过sqlplus连接数据库的,命令如下: C:\Users\xuwei>sqlplus /nolog SQL*Plus ...

  6. 深入理解Java的注解(Annotation):基本概念(1)

    zz自:http://www.cnblogs.com/peida/archive/2013/04/23/3036035.html 什么是注解(Annotation): Annotation(注解)就是 ...

  7. Java处理文件BOM头的方式推荐

    背景: java普通的文件读取方式对于bom是无法正常识别的. 使用普通的InputStreamReader,如果采用的编码正确,那么可以获得正确的字符,但bom仍然附带在结果中,很容易导致数据处理出 ...

  8. 【UOJ UNR #1】火车管理 可持久化线段树

    用可持久化线段树维护每个站的第一辆车和每个站的前一次更新的位置即可. #include<iostream> #include<cstring> #include<cstd ...

  9. [libgdx游戏开发教程]使用Libgdx进行游戏开发(9)-场景过渡

    本章主要讲解场景过渡效果的使用.这里将用到Render to Texture(RTT)技术. Libgdx提供了一个类,实现了各种常见的插值算法,不仅适合过渡效果,也适合任意特定行为. 在本游戏里面, ...

  10. memcahced部署

    Memcached是一个内存数据库,数据以key/value键值对的形式保存在服务器预先分配的内存区块中,由于Memcached服务自身没有对缓存的数据进行持久化存储的设计,因此,在服务器端的Memc ...