[求教]使用Session保存控件时的问题

雷肿么了 2009-12-02 01:17:51

我在webconfig中配置了,将session 保存在服务里

<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="AutoDetect" timeout="300"/>
//但当我将Panel保存到Session,然后在Print.aspx页面获取,实际上做的是一个打印的功能。但这样写报错
Session["ctrl"] = Panel1;
ClientScript.RegisterStartupScript(this.GetType(), "onclick", "<script language=javascript>window.open('Print.aspx','PrintMe','height=300px,width=300px,scrollbars=1');</script>");

Control ctrl = (Control)Session["ctrl"];
PrintHelper.PrintWebControl(ctrl);

//无法序列化会话状态。在“StateServer”或“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不允许使用无法序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“Custom”模式下执行了类似的序列化,则适用同样的限制。


望高手指点下。。
...全文
131 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
雷肿么了 2009-12-03
  • 打赏
  • 举报
回复
....
雷肿么了 2009-12-02
  • 打赏
  • 举报
回复
Panel是一个控件.

我是想把这个Panel保存到session中然后取出做为参数打印Panel中的数据...
showlin 2009-12-02
  • 打赏
  • 举报
回复
Panel这个类并没有申明为可序列化的特性,就是[Serializable] 这个东西
Session在“StateServer”或“SQLServer”模式下,保存的对象及其对象内部的所有成员都必须是可序列化的
lemong 2009-12-02
  • 打赏
  • 举报
回复
//无法序列化会话状态。在“StateServer”或“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不允许使用无法序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“Custom”模式下执行了类似的序列化,则适用同样的限制。

------------------------
这个已经很明白了,你还要问什么呢?
有必要扔个Pannel进去吗?存一个数据结构多好,要实现ISerializable接口的,不久行了

[Serializable]
public class CustomerUserModel
雷肿么了 2009-12-02
  • 打赏
  • 举报
回复
继续顶。。
雷肿么了 2009-12-02
  • 打赏
  • 举报
回复
先顶着,不能让它沉了。 。
flyerwing 2009-12-02
  • 打赏
  • 举报
回复
学习
雷肿么了 2009-12-02
  • 打赏
  • 举报
回复
杂没人来帮忙看下。。
雷肿么了 2009-12-02
  • 打赏
  • 举报
回复
差点沉了。
雷肿么了 2009-12-02
  • 打赏
  • 举报
回复
自己先来顶下。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧