Asp.net 可序列化的Web部件
我有以下问题: 我正在处理一个包含ReportViewer控件的项目。我需要使用以下句子在会话中保护此控件:Asp.net 可序列化的Web部件,asp.net,sharepoint-2013,Asp.net,Sharepoint 2013,我有以下问题: 我正在处理一个包含ReportViewer控件的项目。我需要使用以下句子在会话中保护此控件: [Serializable] [ToolboxItemAttribute(false)] public partial class VisualReportViewer : WebPart { ...... protected void Page_Load(object sender, EventArgs e) { .....
[Serializable]
[ToolboxItemAttribute(false)]
public partial class VisualReportViewer : WebPart
{
......
protected void Page_Load(object sender, EventArgs e)
{
.....
ViewState["ReportViewer1"] = ReportViewer1;
.....
}
.....
}
此句子显示以下错误消息:
Type 'Microsoft.Reporting.WebForms.ReportViewer' in Assembly Microsoft.ReportingServices.SharePoint.UI.WebParts, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' is not marked as serializable.
如您所见,我在类的顶部添加了Serializable,但没有解决方案。有什么办法吗?是否可以保存Web部件控件以在当前会话中使用?为什么使用
ViewState
而不是Session
?现在我使用Session,但问题仍然存在……是否使用默认会话而不将其配置为使用sql?如果是这样-对象不需要序列化,因为默认会话存储在内存中。