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. Linux搭建JavaEE开发环境与Tomcat——(十)

    服务器通过ip地址访问是不需要备案的,如果通过域名访问的话才需要备案. 1.安装Mysql 在CentOS7上安装MySQL时,出现了以下的提示: 原因是: CentOS7带有MariaDB而不是my ...

  2. 编写类du命令Python脚本

    #!/usr/bin/env python #_*_ coding:utf-8 _*_ #计算整个目录的大小,脚本接受-H参数,来加上适当的单位 #功能像du看齐 import os,sys from ...

  3. SAR图像处理 MSTAR数据库利用问题

    本人最近刚接手的新活,打算从事SAR目标识别的研究,从美国的mstar数据库中下到一些资源,但是这些数据并不是原始图片的格式,需要转换,由于刚刚接触,并不太了解,所以特此请教!如有感兴趣的朋友可以一起 ...

  4. PL/SQL 02 声明变量 declare

    语法:identifier [CONSTANT] datatype [NOT NULL] [:= | DEFAULT expr] identifier:用于指定变量或常量的名称.CONSTANT:用于 ...

  5. iOS 动画整理

    序列帧动画 曾经项目里的一段源码: 1234567891011121314 UIImageView * activityImageView = [[UIImageView alloc] init];N ...

  6. Winform 中panel的mousewheel鼠标滚轮事件触发

    如果将窗体或容器控件(如Panel控件)的AutoScroll属性设置为True时,那么当窗体或Panel容不下其中的子控件时就会出现 滚动条,通过移动滚动条可以上下显示出窗体或Panel中的全部内容 ...

  7. django 分页django-pure-pagination(zz)

    虽然django自带了一个paginator,但不是很方便,我们使用django-pure-pagination github地址https://github.com/jamespacileo/dja ...

  8. 抽象语法树简介(ZZ)

    转载自: http://www.cnblogs.com/cxihu/p/5836744.html (一)简介 抽象语法树(abstract syntax code,AST)是源代码的抽象语法结构的树状 ...

  9. apt-get常用命令及工作原理

    https://blog.csdn.net/mosquito_zm/article/details/63684608

  10. Tarjan+topsort(DP)【P3387】 [模板]缩点

    Description 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大.你只需要求出这个权值和. 允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次 ...