您的位置:首页 > 编程语言 > ASP

Asp.Net大型项目实践(5)-独家资料!整合NHibernate与Json序列化(附源码)

2009-12-29 23:16 573 查看
  阅读: 1147 评论: 12 作者: 传说中的弦哥 发表于 2009-12-29 23:16 原文链接

注:之所以标题里写独家资料,是我在研究这个问题的时候貌似没有在网上找到相关的解决方案(有也是错的..),自己折腾了半天才搞出来,如果大伙有更好的办法或能找到已有的解决办法可以告诉我 我去掉...

接上篇,通过NHibernate我们多表查询是实现了 但由于查询出来的集合中的对象“不是平的”,如何在送到UI绑定成了问题。ExtJs UI组件的数据绑定支持多种格式,如简单数组,Json,Xml。在本项目中我们统一,服务器端通过Json把数据传输到Ext进行解析和绑定。

什么!不知道啥叫Json?
代码

//测试一下
public ActionResult test()
{
Demo.HIS.Infrastructure.Core.Repositories.IDictionaryRepository r = new Demo.HIS.Infrastructure.Repositories.Data.DictionaryRepositoryImpl();
long total;
var list = r.GetPlistByCategoryId("48391bb4-471b-4499-899b-cea9748e1a7b", 0, 15, "Index", "desc", null, out total);

//我们自己的Json序列化方法
return this.JsonFormat(
list,
new string[] { "Category" });//指定需要序列化属性“Category”
}


然后我们使用工具Fiddler2查看生成的Json,这个工具的使用可以看我同事1-2-3的[推荐]查看Json输出的*最方便*的方法

成功生成了我们想要的Json如下图:



这样我们就不必为了Json序列化绑定数据这个原因而搞很多麻烦的尴尬的所谓DTO了

我们的路子是这样的:NHibernate出的多层对象->自己想要的多层Json->Ext直接绑定

源码:HISDemo-6.rar

注意源码里的DemoHisSite我改了下,自己配置下本地的IIS后可运行




  发表评论

新闻频道:2009回顾之上网本:小家伙背负产业巨头大战略

推荐链接:Windows 7专题发布

网站导航:博客园首页 个人主页 新闻 社区 博问 闪存 知识库
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐