Pregunta

Tengo dos partes web que se comunican. El proveedor no puede dar un valor (un RID) al consumidor hasta al menos el evento Page_Load del proveedor. Por lo tanto, el consumidor no puede saber el RID que necesita hasta después de Page_Load. Por lo tanto, me enganché en Page_LoadComplete. Ahora hay un problema. El consumidor crea controles dinámicos basados ??en este RID.

Ahora. Estos controles dinámicos creados se crean después de Page_Load. Por lo tanto, su estado de vista no se restaura (aunque los controles dinámicos creados dentro de Page_Lad tienen sus valores restaurados).

Entonces, básicamente, lo que necesito es una forma de restaurar manualmente el estado de visualización a un control, o de obtener el valor del control a partir de una variable POST o el equivalente en C # ..

Además, si pudiera obtener el valor de un control en Page_Init, también funcionaría.

¿Fue útil?

Solución

Toda la información devuelta de una publicación en los pares de clave / valores Request.Form. Si marca allí y busca el ID de control en las claves, puede obtener el valor sin mirar a través del estado de vista.

Es probable que tenga que buscar en cada clave y buscar la clave que contiene el nombre del control, ya que la clave será la ID del cliente y no la ID que especificó.

Otros consejos

Si los controles son dinámicos, no estarán en ViewState hasta que se produzca una devolución. Por lo tanto, ViewState no se puede usar en la carga inicial, a menos que los agregue usted mismo a ViewState.

ViewState.Add("myRID", RID)

O puede guardarlo en SessionState, y no sobrecargar ViewState ya que ViewState tiende a ser demasiado grande de todos modos. Yo iría con SessionState.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top