webapi返回泛型给easyui
由于之前遇到的easyui调用webapi的问题。
参见 :http://blog.csdn.net/hanjun0612/article/details/51144991
所以就考虑,封装一个泛型用来返回 HttpResponseMessage
直接上代码:
泛型封装:
public class APIResult<T> : HttpResponseMessage
{
private T Data;
public APIResult(T Data, string DataType = "application/json")
{
this.Data = Data;
string jsonStr = GetJson(this.Data);
this.Content = new StringContent(jsonStr, System.Text.Encoding.UTF8, DataType);
}
//返回值
public bool ResponseResult = false;
//返回message
public string ResponseMsg = "failed";
private string GetJson(T Data)
{
if (Data is string || Data is StringBuilder)
return Data.ToString();
else if (Data is DataTable)
return JsonConvert.SerializeObject(Data, new DataTableConverter());
else
return JsonConvert.SerializeObject(Data);
}
}
webapi:
这里是返回DataTable类型
public APIResult<DataTable> GetProductParentType(string PT_Name=null, string PT_Code=null, int PT_ParentID = 0)
{
DataTable dt = pt.GetProductParentType(PT_Name, PT_Code,PT_ParentID);
APIResult<DataTable> result = new APIResult<DataTable>(dt);
return result;
}
这里是返回对象类型
public APIResult<Rootobject> Get(int id)
{
Rootobject resp=new Rootobject();
APIResult<Rootobject> api = new APIResult<Rootobject>(resp);
return api;
}
前台HTML :
<div id="gdv_ProductParentType"></div>
<script>
$('#gdv_ProductParentType').datagrid({
url: '../api/BindData/GetProductParentType',
method: 'get', //默认是post,不允许对静态文件访问
width: '700',
rownumbers: true,
columns: [[
{ field: 'PT_Name', title: 'PT_Name' },
{ field: 'PT_CreateTime', title: 'PT_CreateTime',
formatter: function (value, row, index) {
var dt = new Date(value);
return dt.toLocaleDateString();//设置时间格式
}
}
]],
onClickRow: function (index, row) {
},
singleSelect: true,
selectOnCheck: true
});
</script>
webapi返回泛型给easyui的更多相关文章
- WebApi返回Json格式字符串
WebApi返回json格式字符串, 在网上能找到好几种方法, 其中有三种普遍的方法, 但是感觉都不怎么好. 先贴一下, 网上给的常用方法吧. 方法一:(改配置法) 找到Global.asax文件,在 ...
- WebAPI返回数据类型
最近开始使用WebAPI,上手很容易,然后有些疑惑 1.WebAPI默认返回什么数据类型,json还是xml? 2.怎么修改WebAPI的返回数据类型,我用IE浏览器请求返回的数据都是JSON格式的, ...
- webapi返回json格式优化
一.设置webapi返回json格式 在App_Start下的WebApiConfig的注册函数Register中添加下面这代码 config.Formatters.Remove(config.For ...
- WebAPI返回数据类型解惑
本文来自:http://www.cnblogs.com/lzrabbit/archive/2013/03/19/2948522.html 最近开始使用WebAPI,上手很容易,然后有些疑惑 1.Web ...
- WebAPI返回数据类型解惑[转]
最近开始使用WebAPI,上手很容易,然后有些疑惑 1.WebAPI默认返回什么数据类型,json还是xml? 2.怎么修改WebAPI的返回数据类型,我用IE浏览器请求返回的数据都是JSON格式的, ...
- webapi的返回类型,webapi返回图片
1.0 首先是返回常用的系统类型,当然这些返回方式不常用到.如:int,string,list,array等.这些类型直接返回即可. public List<string> Get() { ...
- webapi返回json格式,并定义日期解析格式
1.webapi返回json格式 var json = config.Formatters.JsonFormatter; json.SerializerSettings.PreserveReferen ...
- 关于webapi 返回的类型的笔记
经过测试发现使用IE浏览器返回的数据是json,而使用Firefox和Chrome返回的则为xml,经研究发现IE在发生http请求时请求头accpet节点相比Firefox和Chrome缺少&quo ...
- Web Service接口返回泛型的问题(System.InvalidCastException: 无法将类型为“System.Collections.Generic.List`1[System.String]”的对象强制转换为类型“System.String[]”)
在使用C#写Web Service时遇到了个很奇怪的问题.返回值的类型是泛型(我用的是类似List<string>)的接口,测试时发现总是报什么无法转换为对象的错误,百思不得其解. 后来在 ...
随机推荐
- Java:内省(Introspector)
内省(Introspector) 是Java 语言对 JavaBean 类属性.事件的一种缺省处理方法. JavaBean是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的字段,且 ...
- Mac安装LNMP环境,升级php7
Mac安装nginx+mysql+php 安装nginx比较麻烦,要安装pcre ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre ...
- Luogu4774 NOI2018 屠龙勇士 ExCRT
传送门 原来NOI也会出裸题啊-- 用multiset求出对付每一个BOSS使用的武器威力\(ATK_i\),可以得到\(m\)个式子\(ATK_ix \equiv a_i \mod p_i\) 看起 ...
- 2-SAT超入门讲解
Preface 说实话2-SAT的题目我都没怎么做过,所以这里讲的都是些超入门什么的 还有一些板子题,由于是暑假的时候学的所以有些我也记不清了 主要学习参考自:Mancher的课件&& ...
- Luogu P1896 [SCOI2005]互不侵犯
一道超级简单的状压DP题所以说状压是个好东西 看数据范围,同时我们发现一个格子要么放国王or不放,因此可以用二进制数来表示某一行的国王放置信息 于是我们马上想到用\(f_{i,j}\)表示放了前\(i ...
- Linux Shell完成Qt程序的自动部署
#!/bin/sh #取当前脚本的绝对路径 srcDir=$(cd ")";pwd) #设置库所在路径 libDir=${srcDir}"/J1900RunLib/*&q ...
- System.Data.SqlClient.SqlException:“对象名 'customer' 无效。"
连接数据库出错, 错误原因:表名错误.
- Docker容器学习梳理 - 容器硬盘热扩容
前面已介绍了docker很多知识点的操作记录,今天这里梳理下docker容器空间扩展的操作.默认情况下,物理机下创建的docker容器的空间是10G(虚拟机下创建的docker容器空间就是虚拟机的空间 ...
- require.ensure的用法;异步加载-代码分割;
webpack异步加载的原理 webpack ensure相信大家都听过.有人称它为异步加载,也有人说做代码切割,那这 个家伙到底是用来干嘛的?其实说白了,它就是把js模块给独立导出一个.js文件的, ...
- S2X环境搭建与示例运行
S2X环境搭建与示例运行 http://dbis.informatik.uni-freiburg.de/forschung/projekte/DiPoS/S2X.html 环境 Maven proje ...