cs-JsonHelper
ylbtech-Unitity: cs-JsonHelper |
AjaxResult.cs FormatJsonExtension.cs
1.A,效果图返回顶部 |
1.B,源代码返回顶部 |
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的更多相关文章
- 【C#公共帮助类】JsonHelper 操作帮助类, 以后再也不用满地找Json了,拿来直接用
四个主要操作类:JsonConverter .JsonHelper .JsonSplit .AjaxResult 一.JsonConverter: 自定义查询对象转换动态类.object动态类转换j ...
- asp.net的JSONHelper 类
调用方法: ){ jsons = json.ToString();}else{ jsons = @"{success:false}";}return jsons; JS ...
- 【C#公共帮助类】JsonHelper 操作帮助类
四个主要操作类:JsonConverter .JsonHelper .JsonSplit .AjaxResult 一.JsonConverter: 自定义查询对象转换动态类.object动态类转换js ...
- asp.net ajax传递Json给aspx.cs后台 webmethod方法传递json
1.提取一个向后台写入数据的方法 ///向后台cs页面请求数据的方法 function myPost(url,data,func) { $.ajax({ type: "post", ...
- [C#] 剖析 AssemblyInfo.cs - 了解常用的特性 Attribute
剖析 AssemblyInfo.cs - 了解常用的特性 Attribute [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5944391.html 序 ...
- Atitit 软件架构方法的进化与演进cs bs soa roa msa attilax总结
Atitit 软件架构方法的进化与演进cs bs soa roa msa attilax总结 1.1. 软件体系架构是沿着单机到 CS 架构,再到 BS 的三层架构甚至多层架构逐步发展过来的,关于 ...
- 从java文件和CS文件里查询方法使用次数工具
前几天,领导让我找一下老系统(Java)里getRemoteUser方法都哪个文件用了,package是什么,方法被调用了多少次,当时因为着急,所以,直接人工找的,但是以后要是再出现,人工找就太讨厌了 ...
- 关于 WP 开发中.xaml 与.xaml.cs 的关系
今天我们先来看一下在WP8.1开发中最长见到的几个文件之间的关系.比较论证,在看这个问题之前我们简单看看.NET平台其他两个不同的框架: Windows Forms 先看看Window Forms中的 ...
- JSON扩展类——JsonHelper
1.引用Newtonsoft.Json库(JSON.NET). 2.复制粘贴JsonHelper吧. 源代码: using System; using System.Collections.Gener ...
- .net 用户控件ascx.cs注册js脚本代码无效果
在.net web项目中碰到一个比较奇怪的问题,网上没找到解决方案,先自己mark一下 问题描述: 添加一个用户控件ascx,在后端.cs添加js注册脚本,执行后没有弹出框 注册脚本为: this.P ...
随机推荐
- 利用os、hash模块生成目录下所有文件的md5
hashlib用于对字符串或者文件进行加密. 使用方法1: hashlib.md5('str').hexdigest() 使用MD5对str进行加密,使用hexdigest(),16进制的方式打印 ...
- input button 不能在后台用Enabled
<input type="button" value="上传" class="uploadButton" runat="s ...
- PL/SQL 04 游标 cursor
--游标 declare cursor 游标名字 is 查询语句;begin 其他语句;end; --游标的属性%FOUND%NOTFOUND%ISOPEN%ROWCOUNT(当前游标的指针位 ...
- vue+axios下载文件的实现
HTML代码: <el-button size="medium" @click="download">下载表格</el-button> ...
- Hadoop运维记录系列
http://slaytanic.blog.51cto.com/2057708/1038676 Hadoop运维记录系列(一) Hadoop运维记录系列(二) Hadoop运维记录系列(三) Hado ...
- python中的yield生成器详解
#原创,转载请先联系 在学习生成器之前,必须先了解一下迭代器.因为生成器就是一种特殊的迭代器,而且生成器用起来更加优雅. 迭代器的详解可以参考我的另一篇博文:https://www.cnblogs.c ...
- ubuntu 16.04安装redis(源码安装)zz
本文转载自: http://www.linuxdiyf.com/linux/22527.html Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Val ...
- hdu 1068(最大独立集)
Girls and Boys Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 在使用Arduino中遇到的问题(无法使用中文注释、程序无法下载)
在使用Arduino中遇到的问题: 在用arduino给蓝牙模块供电时,下载程序是下不进去的.即使显示下进去了,其实也是没下进去. 解决方法:拔掉蓝牙模块再下程序,或给蓝牙供电的线上加上一个开关. 在 ...
- Storm学习中遇到的问题整理
在编写storm代码来进行实时分析的时候遇到了一些问题,有些的确令人比较头痛,现在稍微做一下整理.数据流向(本地-Spout-Bolt-Hdfs) 1数据的输入输出文件的路径选择 因为在此项目中数据是 ...