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 ...
随机推荐
- 转: Photoshop cs6 快捷键命令大全
转自: http://www.cnblogs.com/zhen656/p/4249759.html 工具箱(多种工具共用一个快捷键的可同时按[Shift]加此快捷键选取) 矩形.椭圆选框工具.单行单列 ...
- 【bzoj4272】筐子放球
看题解会的系列…… 详细解释先坑着,以后补…… #include<bits/stdc++.h> #define N 200005 using namespace std; ,tot=,cn ...
- 使用Windows下的git工具往github上传代码 踩坑记录
使用Windows下的git工具往github上传代码 踩坑记录 背景 由于以前接触的项目都是通过svn进行版本控制,现在公司项目使用git,加上自己平时有一个练手小项目,趁着周末试着把项目上传到自己 ...
- Java==与equals方法的区别
摘自:http://www.cnblogs.com/dolphin0520/p/3592500.html 1.对于==,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等: 如果作用于引 ...
- ApplicationCommands 应用程序常见命令
ApplicationCommands用于表示应用程序程序员经常遇到的常见命令,类似于ctrl+c 在WPF中,许多控件都自动集成了固有的命令集.比如文本框TextBox就提供了复制(Copy),粘贴 ...
- 各种编码UNICODE、UTF-8、ANSI、ASCII、GB2312、GBK详解
来自:http://blog.csdn.net/lvxiangan/article/details/8151670 ------------------------------------------ ...
- 计算器(丑陋版 and 加法专用版)
from tkinter import * win = Tk() win.geometry('500x300+400+300') win['bg'] = '#0099ff' win.title('魔方 ...
- Python 进阶 之 函数对象
Python的世界里,万物皆对象,函数当然也是: 首先要定义一个函数: def add(a,b): print a+b 其次定义一个字典来引用该函数: dic = {"add":a ...
- win7或win2008系统中,出现【已停止工作,联机检查解决方案并关闭该程序,关闭程序】解决方法!
win7或win2008系统中,出现[已停止工作,联机检查解决方案并关闭该程序,关闭程序]解决方法! 经过摸索,点击[控制面板]-[操作中心]-[更改操作中心设置]-[问题报告设置]-[从不检查解决方 ...
- 在Ubuntu 16.04安装 Let’s Encrypt并配置ssl
1.安装前准备 1)要确保python的默认版本为2.7及以上版本. 2)需要配置的apache.nginx需要提前配置绑定域名. 2.安装ssl 在这个https://certbot.eff.org ...