Pregunta

Necesito crear algunos controles dinámicos en la carga de página en la parte web del consumidor. En la parte web del proveedor hice algunos trucos y lo obtuve para poder obtener un valor de control antes de que se cargue viewstate en Page_Init.

Básicamente, lo que quiero es que los webparts puedan comunicarse antes de Page_Load.

[ConnectionConsumer("FormRID Consumer","FormRIDConsumer")]
public void InitializeProvider(MyControl.IFormRID provider)
{
    theProvider = provider;
    FormRID = theProvider.FormRID;
}

No se llama a ese método hasta después de Page_Load. Este es un gran problema para mí porque mis consumidores Page_Load dependen de que FormRID esté configurado y sea preciso. No puedo mover el código de Page_Load a Page_LoadComplete porque estoy necesitando crear controles dinámicos con viewstate (viewstate no se restaura después de Page_Load)

Entonces, ¿hay algún trabajo alrededor que pueda usar para poder comunicarme antes de cargar carga?

¿Fue útil?

Solución 3

Terminé teniendo que crear mi propia comunicación de webpart.

Terminó mucho más limpio que ASP.Net y la comunicación puede ocurrir tan pronto como OnInit dentro de los elementos web.

Otros consejos

¿Ha intentado suscribirse al evento Init de la zona de elementos web y colocar su InitializeProvider () allí? Creo que se dispara antes de los eventos OnLoad u OnInit de los controles de usuario y los formularios web.

Deberías usarlo en el evento OnPreRender en lugar de en Cargar, porque la carga en on se produce antes de que se ejecute la conexión WebPart.

Este es un ejemplo de lo que podría esperar al usar los eventos OnLoad y OnPreRender http://blog.mastykarz.nl/web-part-requires-clicking-twice-apply-ok-button-apply-changes/

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