事情是这样的:我在MVC 下 前后台交互 用JsonResult 返回给前台使用。

public JsonResult AjaxFindHospitalInfo()
{

  List<T> list = new List<T>

  return Json(list,JsonRequestBehavior.AllowGet);

}

但是在对EXTJS4.0 使用grid 使用分页功能的时候 需要把一个数据总行数一起写进JSON

{totalCount:" + 数据总行数+ ",bugs: " + JSON分页后的数据 + "}";

要把数据总行数回传给组件。

我想到几个办法:

1. 改写LIST《T》 在list<t> 改为 list<list<T>> 最外层List 写入totalCount:  数据总行数,bugs : list<T>

list<list<T>> =  {totalCount:  数据总行数,bugs : list<T>} 这样就可以直接通过"Json" 这个函数序列化

2. 通过另外一个Ajax请求 取得 数据总行数,或 通过 ViewBag 传值,到前台 用 JS 取到 赋给 totalCount

事实上我用的第三种方法: ps:虽然我认为第二种方法 简单 方便

3.取得Json 字符串 增加 字符串重新拼接成: {totalCount:" + 数据总行数+ ",bugs: " + JSON分页后的数据 + "}";

但是Json 函数 返回的是JsonResult 没有函数能直接返回 字符串

网上找方法:重写JsonResult

其中用到了这样一个  JavaScriptSerializer 这个对象有个函数 Serialize 可以把 List 序列化后返回 string

通过 ContentResult 返回 Content(content),代码如下:

public ContentResult AjaxFindHospitalInfo()
{

int start = Convert.ToInt32(Request.Params["start"] == null ? "0" : Request.Params["start"]);//从多少条开始
int limit = Convert.ToInt32(Request.Params["limit"] == null ? "10" : Request.Params["limit"]);//分页页数

Hospital_DAL hd = new Hospital_DAL();
JavaScriptSerializer jss = new JavaScriptSerializer();
string content = jss.Serialize(hd.FindHos(start, limit)); //hd.FindHos() 函数返回 LIST 集合

int count = hd.FindHosCount();
content = "{totalCount:" + count + ",bugs: " + content + "}";

return Content(content);
}

最新文章

  1. 根据字符长度动态确定UIlabel宽高
  2. jdbc的实例应用:增删查改实现
  3. JAVA bio nio aio
  4. SQLChop、SQLWall(Druid)、PHP Syntax Parser Analysis
  5. HTML5 history
  6. Xperf Basics: Recording a Trace (the easy way)(转)
  7. (转) 关于在IE6下 无法跳转问题
  8. BZOJ3483 : SGU505 Prefixes and suffixes(询问在线版)
  9. Java再学习——深究static关键字
  10. 模拟post请求方法
  11. Microsoft .NET Pet Shop 4
  12. 基于curl 的zabbix API调用
  13. shell基础——创建临时文件
  14. 修改已经提交到远端的git commit信息
  15. 安装Pomelo
  16. 201521123019 《Java程序设计》第7周学习总结
  17. JAVA判断文件的内容类型
  18. 案例:中科院光机所应用大数据可视化工具-LightningChart | 见证高性能图表
  19. 一个简单IP防刷工具类, x秒内最多允许y次单ip操作
  20. linux学习:sed与awk与tr用法整理

热门文章

  1. cookie和session的介绍
  2. SpringBoot学习12:springboot异常处理方式2(使用@ExceptionHandle注解)
  3. ES5 与 ES6六大不同
  4. SQL递归查询实现组织机构树
  5. Hbase学习指南
  6. JSON后台处理特殊字符方法,在JSONArray.fromObject转换时处理
  7. pywinauto 的使用
  8. php 操作 mysql 实现批量执行mysql语句 mysql文件
  9. Redis------Set集合类型
  10. MySQL Limit 限定查询记录数