首页 新闻 会员 周边

如何在asp.net的视图状态中存储表达式树(不使用session)?表达式p=>new {p.a,p.b,p.c},如何用表达式树编写

0
悬赏园豆:30 [已解决问题] 解决于 2013-12-23 15:13

问题一:我想在asp.net的视图状态中保存表达式树。可是viewstate不支持。不知道有没有高手知道如何处理?

问题二:我想写出如:var x=from a in ef.contents select new {a.b,a.c,a.d}表达式树。可是不知道怎么写。望高手指点?

还望各位大虾给我指点。万分感激!

< >
分享
最佳答案
0

还在操作试图啊 干嘛不放在缓存cache里面?

收获园豆:15
丫的 | 小虾三级 |园豆:1575 | 2013-12-20 16:34

总觉得Cache没那个ViewState好。不过,倒是可以解决第一个问题。那第二个问题,可有什么建议吗?

ChenYa.Liu | 园豆:3 (初学一级) | 2013-12-20 16:36
其他回答(1)
0

先学习下基础:http://www.cnblogs.com/tianfan/archive/2010/03/05/expression-tree-basics.html

然后你要明白,ViewState 中只能保存可序列化的类型,因此你需要把表达式树序列化,那么请看这里:

http://www.cnblogs.com/JeffreyZhao/archive/2009/03/17/expression-cache-2-simple-key-cache.html

收获园豆:15
Launcher | 园豆:45045 (高人七级) | 2013-12-20 16:28

你说的两个网站。我都看过了。根本解决不了我们问题的。麻烦看看有什么解决方案?

还有就是第二个问题,你有没有好的建议啊?

支持(0) 反对(0) ChenYa.Liu | 园豆:3 (初学一级) | 2013-12-20 16:33

@ChenYa.Liu: 你的意思是表达式树无法序列化成 string 类型?你的第二个问题要我给你什么建议?你写的是 LINQ,不是表达式树,对不起。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2013-12-20 16:36

@Launcher:阿弥陀佛!ef.contents.select(p=>new {p.a,p.b,p.c}).

 

支持(0) 反对(0) ChenYa.Liu | 园豆:3 (初学一级) | 2013-12-20 16:40

@ChenYa.Liu: 你需要序列化 “p=>new {p.a,p.b,p.c}”,还是要序列化 “ef.contents.select(p=>new {p.a,p.b,p.c})” ?

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2013-12-20 16:48

@Launcher: 序列化是第一个问题。这是第二个问题。不用序列化。只是想知道,这句代码。如果手动写表达式树,该怎么写?

支持(0) 反对(0) ChenYa.Liu | 园豆:3 (初学一级) | 2013-12-20 16:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册