由于之前遇到的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的更多相关文章

  1. WebApi返回Json格式字符串

    WebApi返回json格式字符串, 在网上能找到好几种方法, 其中有三种普遍的方法, 但是感觉都不怎么好. 先贴一下, 网上给的常用方法吧. 方法一:(改配置法) 找到Global.asax文件,在 ...

  2. WebAPI返回数据类型

    最近开始使用WebAPI,上手很容易,然后有些疑惑 1.WebAPI默认返回什么数据类型,json还是xml? 2.怎么修改WebAPI的返回数据类型,我用IE浏览器请求返回的数据都是JSON格式的, ...

  3. webapi返回json格式优化

    一.设置webapi返回json格式 在App_Start下的WebApiConfig的注册函数Register中添加下面这代码 config.Formatters.Remove(config.For ...

  4. WebAPI返回数据类型解惑

    本文来自:http://www.cnblogs.com/lzrabbit/archive/2013/03/19/2948522.html 最近开始使用WebAPI,上手很容易,然后有些疑惑 1.Web ...

  5. WebAPI返回数据类型解惑[转]

    最近开始使用WebAPI,上手很容易,然后有些疑惑 1.WebAPI默认返回什么数据类型,json还是xml? 2.怎么修改WebAPI的返回数据类型,我用IE浏览器请求返回的数据都是JSON格式的, ...

  6. webapi的返回类型,webapi返回图片

    1.0 首先是返回常用的系统类型,当然这些返回方式不常用到.如:int,string,list,array等.这些类型直接返回即可. public List<string> Get() { ...

  7. webapi返回json格式,并定义日期解析格式

    1.webapi返回json格式 var json = config.Formatters.JsonFormatter; json.SerializerSettings.PreserveReferen ...

  8. 关于webapi 返回的类型的笔记

    经过测试发现使用IE浏览器返回的数据是json,而使用Firefox和Chrome返回的则为xml,经研究发现IE在发生http请求时请求头accpet节点相比Firefox和Chrome缺少&quo ...

  9. Web Service接口返回泛型的问题(System.InvalidCastException: 无法将类型为“System.Collections.Generic.List`1[System.String]”的对象强制转换为类型“System.String[]”)

    在使用C#写Web Service时遇到了个很奇怪的问题.返回值的类型是泛型(我用的是类似List<string>)的接口,测试时发现总是报什么无法转换为对象的错误,百思不得其解. 后来在 ...

随机推荐

  1. Android TextView的属性设置为textstyle="bold"时 中文的“¥”不显示

    昨天在修改列表的时候出现了一个挺让人纠结的问题.在TextView中“¥”符号无论如何也显示不出来.尝试了使用气的特殊符号,都是能够正确显示的. 最后百度google了一圈也没找出个所以然来.于是觉得 ...

  2. Ajax获取 Json文件提取数据

    摘自 Ajax获取 Json文件提取数据 1. json文件内容(item.json) [ { "name":"张国立", "sex":&q ...

  3. kubectl客户端工具远程连接k8s集群

    一.概述 一般情况下,在k8smaster节点上集群管理工具kubectl是连接的本地http8080端口和apiserver进行通讯的,当然也可以通过https端口进行通讯前提是要生成证书.所以说k ...

  4. 【强化学习】python 实现 q-learning 例五(GUI)

    本文作者:hhh5460 本文地址:https://www.cnblogs.com/hhh5460/p/10143579.html 感谢pengdali,本文的 class Maze 参考了他的博客, ...

  5. 【下一代核心技术DevOps】:(六)Rancher集中存储及相关应用

    1. 前言 为什么要使用集中存储? 使用集中存储有个很大的优势是数据安全和统一管理,和集群完美配合. 产品集成存储经历过几个阶段: 1.单机本机存储. 系统使用本地硬盘存储 2.单网络集中存储. 局域 ...

  6. Hexo+Github搭建博客问题

    搭建过程如下:   http://www.cnblogs.com/fengxiongZz/p/7707568.html   问题:第6步,发布上传代码一直不成功(没异常,也没成功).   解决:修改_ ...

  7. python-批量添加图片水印

    前言: 最近总是被无良公众号和培训机构拷贝文章,他们根本不会给你备注原文出处,这种行为真的让人不高兴,所以计划以后的文章都添加上自己的水印. 话不多说,直接上代码. 一.单张图片添加文字水印 # -* ...

  8. linux-shell-引用-命令替换-命令退出状态-逻辑操作符

    命令替换:bash7步扩展的之一 嵌套  这里没什么意义 退出状态可以参与逻辑判断 表达式 算数表达式和条件表达式,逻辑表达式 查看passwd命令比,避免用户捕获输入密码的接口 这种方式就可以直接输 ...

  9. 2017乌鲁木齐区域赛D题Fence Building-平面图的欧拉公式

    这个题B站上面有这题很完整的分析和证明,你实在不懂,可以看看这个视频  https://www.bilibili.com/video/av19849697?share_medium=android&a ...

  10. hibernate ehcache二级缓存

    xml配置 <?xml version="1.0" encoding="UTF-8"?> <ehcache> <!-- Sets ...