"DataView未在System.data中标记为可序列化"是什么意思?

Mic*_*per 4 asp.net

当我在viewstate中存储dataview时,.net显示错误"Dataview没有在system.data中标记为可序列化,但是当我将它存储在会话中时,它是否完美?它背后的原因是什么?哪个是其他对象没有标记为"可序列化"?

I a*_*ica 7

这意味着您要存储的对象(DataView)未标记为SerializableAttribute.

现在,您使用ViewState而不是使用Session获取此错误的原因是因为ViewState 始终是序列化的,但对于Session不一定如此.进程内会话存储在服务器的内存中,不需要序列化.必须序列化SQLServer会话以存储在数据库中.

因此,只要您想要在ViewState(或序列化的会话)中存储对象,就必须使用SerializableAttribute标记该对象.