Pregunta

Antecedentes:

Estoy usando jQuery BlockUI 2,31 en jQuery 1.3.2, en ASP.NET 2.0.

Estoy usando el cuadro de diálogo para mostrar un DIV (normalmente) escondido como una especie de diálogo modal emergente, con controles de servidor ASP.NET en el mismo (por motivos de simplicidad, un asp: Button). No hay AJAX, o no garantiza que sea ninguna.

Una de las cosas jquery BlockUI hace, si se le pasa algunos elementos HTML -. Es que eliminará el control de su lugar en la página, y añadirlo a la cuerpo

ASP.NET 2.0 parece querer controles que volver después de estar en el forma usted puede encontrar con $ (# aspnetForm). jQuery BlockUI sólo les trasladó a la cuerpo , por lo que la devolución de datos Nunca incendios .

El método es un método de instancia y, probablemente, no va a funcionar así como estática (referencias registran en los controles de usuario y la página ...)

He hecho algo de investigación:

I modificado jQuery BlockUI para anexar a la forma (y luchó con el selector para quitar el bloqueo) pero Borks IE6 y IE7 - la superposición de aperturas en la forma y todo el diálogo aparece fuera del centro. Cómo ocultar la superposición no es una opción, y yo realmente odio jugar con IE-específica css y del IE-específica guión.

Me trató añadiendo algunas capas al cuerpo y algunos a la forma, pero las capas del cuerpo siempre se muestran en la parte superior de las capas de formulario (por lo que la capa opaca que bloquea la entrada también bloqueará la entrada en el div que estoy tratando de mostrar).

Estoy pensando en la solución está en tener el div llamada de un ancla ficticia escondido para ejecutar la devolución de datos de la original del botón. SonTek sugerido esto en su respuesta a una pregunta relacionada.

Mi pregunta real:

Estoy en el camino correcto con el truco falso devolución de datos? Supongo que si yo estoy confiando en jQuery para la funcionalidad de diálogo modal que no debería estar preocupado de reserva.

O, debería seguir perder el tiempo con el estilo de la forma de adición?

¿Fue útil?

Solución

que está bastante atascado poner las etiquetas de vuelta dentro de la etiqueta de formulario si desea que el comportamiento normal asp.net tales como los hechos ante el fuego.

Una vez dicho esto, si usted está atascado en el uso del modal jQuery, no creo que la activación de la devolución de datos es tan malo. Como usted ha mencionado de la cuestión vinculada / relacionado, se puede obtener la devolución de datos GetPostBackEventReference referencia en su código subyacente y pase el control de quién está evento que desea fuego, como por ejemplo:

//assuming your button is btnMyButton and
Page.ClientScript.GetPostBackEventReference(btnMyButton, null);

Se podría colocar esta llamada javascript para cualquier otro botón, incluyendo el botón que está moviendo alrededor de fuera de la etiqueta de formulario. Esto wireup esencialmente la devolución de datos y el aumento que los eventos de control de la forma habitual.

No es la solución más elegante, pero creo que estás en el camino correcto con él si es necesario utilizar jQuery modal.

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