Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

El tipo no está marcado como serializable

2,290 views
Skip to first unread message

Alexa

unread,
May 20, 2009, 6:02:29 PM5/20/09
to
En este link
http://raptor-net.blogspot.com/2009/02/grid-view-dinamico.html encontr�
esto :

"es sencillo incluir valores en el view state y utilizarlos en la pagina
para llevar y traer valores es relativamente sencillo, pero el detalle es
que para poder incluir algo en el view state, �ste debe ser serializable. Al
iniciar este experimento me lleve el chubasco de que cuando guardaba mi caja
de texto en el viewstate no habia problema, el problema era al intentar
traer de regreso el valor, ya que me marcaba un peque�o error:
El tipo 'System.Web.UI.WebControls.TextBox' del ensamblado 'System.Web,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' no est�
marcado como serializable."

En este sentido mi consulta es : �Que es o cuando un control es
serializable y cuales son esos controles ?


Alberto Poblacion

unread,
May 21, 2009, 2:09:10 AM5/21/09
to
" Alexa" <a...@hotmail.com> wrote in message
news:%23ptgwaZ...@TK2MSFTNGP05.phx.gbl...

Son selializables las clases que est�n marcadas con el atributo
<Serializable>, o las que implementan la interfaz ISerializable. En general,
los controles NO son serializables; �nicamente se pueden serializar los
valores de las propiedades de los controles (pero no el control completo).
En particular, el autor del texto que citas probablemente intent� guardar el
TextBox en el ViewState (que no se puede porque la clase TextBox no es
serializable), en lugar de guardar el TextBox.Text (que s� se puede, porque
es un String y la clase String s� es serializable).

Alexa

unread,
May 21, 2009, 3:44:38 PM5/21/09
to
Ok entiendo, � pero qu� significa que alguna propiedad de un control sea
serializable ?

"Alberto Poblacion" <earthling-quitae...@poblacion.org>
escribi� en el mensaje news:eDKWsqd2...@TK2MSFTNGP05.phx.gbl...

Alberto Poblacion

unread,
May 21, 2009, 3:54:26 PM5/21/09
to
" Alexa" <a...@hotmail.com> wrote in message
news:%23rlzZyk...@TK2MSFTNGP05.phx.gbl...

> Ok entiendo, � pero qu� significa que alguna propiedad de un control sea
> serializable ?

Significa que la CLASE de esa propiedad, en el programa fuente en el que
los programadores de Microsoft escribieron esa clase, est� marcada con el
atributo Serializable o implementa ISerializable. Los tipos corrientes
Integer, Double, String, etc., son serializables. Otras clases espec�ficas
solo lo son si la documentaci�n as� lo indica. Por ejemplo
System.Drawing.Color es serializable: Observa en
http://msdn.microsoft.com/en-us/library/system.drawing.color.aspx c�mo el
Structure Color est� marcado con <SerializableAttribute>.

Alexa

unread,
May 21, 2009, 4:33:03 PM5/21/09
to
Por ejemplo en el MSDN del control TextBox que lo puedes ver en este
link
http://msdn.microsoft.com/es-es/library/system.web.ui.webcontrols.textbox(VS.80).aspx
�d�nde dice o donde est� la marca que indica que es serializable la
propiedad TEXT de dicho control ?


"Alberto Poblacion" <earthling-quitae...@poblacion.org>
escribi� en el mensaje news:eDKWsqd2...@TK2MSFTNGP05.phx.gbl...

Alberto Poblacion

unread,
May 22, 2009, 3:03:39 AM5/22/09
to
" Alexa" <a...@hotmail.com> wrote in message
news:OzDcdNl2...@TK2MSFTNGP03.phx.gbl...

> Por ejemplo en el MSDN del control TextBox que lo puedes ver en este
> link
> http://msdn.microsoft.com/es-es/library/system.web.ui.webcontrols.textbox(VS.80).aspx
> īŋŊdīŋŊnde dice o donde estīŋŊ la marca que indica que es serializable la
> propiedad TEXT de dicho control ?

Tienes que seguir el enlace que dice "Miembros", que te lleva aquīŋŊ:
http://msdn.microsoft.com/es-es/library/system.web.ui.webcontrols.textbox_members(VS.80).aspx

Y ahīŋŊ encuentras la propiedad Text, que la pinchas y te lleva aqui:
http://msdn.microsoft.com/es-es/library/system.web.ui.webcontrols.textbox.text(VS.80).aspx

Y en la definiciīŋŊn de Text ves que dice: ...Text As String, Luego la
clase de la propieded Text es "String". Pinchas sobe "String" y te lleva al
siguiente documento (solo si usas la versiīŋŊn local de la documentaciīŋŊn, la
que estīŋŊ en web no tiene el hiperenlace sobre String y tienes que buscarlo a
mano):
http://msdn.microsoft.com/es-es/library/system.string.aspx

Y ahi te fijas en la declaraciīŋŊn del String que es asi:

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class String _
Implements IComparable, ICloneable, IConvertible, IComparable(Of
String), _
IEnumerable(Of Char), IEnumerable, IEquatable(Of String)

Y ahi puedes ver justo al principio cīŋŊmo tiene metido el
SerializableAttribute y por tanto es serializable.


Alexa

unread,
Jun 2, 2009, 12:01:58 PM6/2/09
to
OK.

"Alberto Poblacion" <earthling-quitae...@poblacion.org>
escribi� en el mensaje news:ObtQ1tq2...@TK2MSFTNGP02.phx.gbl...


>" Alexa" <a...@hotmail.com> wrote in message
>news:OzDcdNl2...@TK2MSFTNGP03.phx.gbl...
>> Por ejemplo en el MSDN del control TextBox que lo puedes ver en este
>> link
>> http://msdn.microsoft.com/es-es/library/system.web.ui.webcontrols.textbox(VS.80).aspx

>> �d�nde dice o donde est� la marca que indica que es serializable la

>> propiedad TEXT de dicho control ?
>

> Tienes que seguir el enlace que dice "Miembros", que te lleva aqu�:
> http://msdn.microsoft.com/es-es/library/system.web.ui.webcontrols.textbox_members(VS.80).aspx
>
> Y ah� encuentras la propiedad Text, que la pinchas y te lleva aqui:
> http://msdn.microsoft.com/es-es/library/system.web.ui.webcontrols.textbox.text(VS.80).aspx
>
> Y en la definici�n de Text ves que dice: ...Text As String, Luego la

> clase de la propieded Text es "String". Pinchas sobe "String" y te lleva

> al siguiente documento (solo si usas la versi�n local de la documentaci�n,
> la que est� en web no tiene el hiperenlace sobre String y tienes que

> Y ahi te fijas en la declaraci�n del String que es asi:


>
> <SerializableAttribute> _
> <ComVisibleAttribute(True)> _
> Public NotInheritable Class String _
> Implements IComparable, ICloneable, IConvertible, IComparable(Of
> String), _
> IEnumerable(Of Char), IEnumerable, IEquatable(Of String)
>

> Y ahi puedes ver justo al principio c�mo tiene metido el

0 new messages