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 emacs考场配置及对拍脚本

    emacs配置(待补) (global-set-key [f9] 'compile) (global-set-key [f10] 'gud-gdb) (global-set-ket (kbd &quo ...

  2. 【洛谷 P4211】[LNOI2014]LCA(树链剖分,差分)

    题目链接 看到题目肯定首先想到要求LCA(其实是我菜),可乍一看,n与q的规模为5W, 求LCA的复杂度为\(O(logN)\),那么总时间复杂度为\(O(nq\ log\ n)\). 怎么搞呢? 会 ...

  3. [bzoj3994][SDOI2015]约数个数和-数论

    Brief Description 计算\(\sum_{i\leqslant n}\sum_{j\leqslant m}\sigma_0(ij)\). Algorithm Design 首先证明一个结 ...

  4. js获取上个月日期

    javascript根据当前日期获取上个月日期 function lastMonthDate(){ var Nowdate = new Date(); var vYear = Nowdate.getF ...

  5. Cpython解释器支持的线程

    因为Python解释器帮你自动定期进行内存回收,你可以理解为python解释器里有一个独立的线程,每过一段时间它起wake up做一次全局轮询看看哪些内存数据是可以被清空的,此时你自己的程序 里的线程 ...

  6. 常见的makefile写法【转】

    转自:http://blog.csdn.net/ghostyu/article/details/7755177 版权声明:本文为博主原创文章,未经博主允许不得转载. .目标名称,摆脱手动设置目标名称 ...

  7. 《Java编程思想》笔记 第十五章 泛型

    1 泛型 “泛型”意思就是适用于许多类型. 使用泛型的目的之一: 指定容器持有什么类型,让编译器确保正确性,而不是在运行期发现错误. 这个容器可以看成是有其他类型对象作为成员的类,而不单单只是JDK中 ...

  8. HDU-3555

    Bomb Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total Submi ...

  9. HDU 1015 Safecracker【数值型DFS】

    Safecracker Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  10. Codeforces #442 Div2 F

    #442 Div2 F 题意 给出一些包含两种类型(a, b)问题的问题册,每本问题册有一些题目,每次查询某一区间,问有多少子区间中 a 问题的数量等于 b 问题的数量加 \(k\) . 分析 令包含 ...