me sale esto:me sale una excepción mientras se utiliza un ViewState
System.Runtime.Serialization.SerializationException
Tipo 'System.Web.UI.WebControls.Button' en la Asamblea System.Web' , Versión = 4.0.0.0, Cultura = neutral, PublicKeyToken = b03f5f7f11d50a3a 'no está marcado como serializable. Descripción: Se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Revise el seguimiento de la pila para obtener más información sobre el error y dónde se originó en el código.
Detalles de la excepción: System.Runtime.Serialization.SerializationException: Tipo 'System.Web.UI.WebControls.Button' en la Asamblea 'System.Web, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' no es marcado como serializable.
lo entiendo cuando intento guardar una lista a un estado de vista y recuperarlo en caso Page_PreInit
puse los botones y añadirlos a una lista que más tarde Guardar a un estado de vista:
ViewState["Buttons"] = buttons;
entonces quiero recuperarlos y adjuntarlos a sus manejadores de sucesos:
void Page_PreInit(object sender, EventArgs e)
{
List<Button> btn = (List<Button>)ViewState["Buttons"];
if (btn!=null)
{
foreach (var item in btn)
{
item.Width = 20;
item.Command += obtainTopicsPerPage_Click;
item.CommandName = tPage.ToString();
item.Text = tPage.ToString();
}
}
}
Almacenar un cierto valor del botón en el viewstate, no el objeto en sí y recrearlo desde el estado en la carga de la página siguiente. Alternativamente, el objeto Session puede almacenar referencias de objetos muy bien y menos con gastos indirectos para el cliente. – asawyer
¿Cómo guardo el estado de los botones entre cada postback ... ya que todos sus eventos se han ido entre las devoluciones de datos: (... cuando presiono un botón después de que se desencadena un método de devolución de datos no se activa –