tag propiedad formulario estructura c# asp.net jquery facebox

c# - formulario - propiedad tag de un textbox



Complemento JQuery Facebox: Obténgalo dentro de la etiqueta del formulario (4)

Deseo utilizar el complemento de Facebox para JQuery pero tengo algunos problemas para que funcione como yo quiero. El div que aloja el contenido de la caja frontal se crea fuera de la etiqueta, por lo que aunque estoy cargando algunos controles web, ninguno de ellos está volviendo al servidor.

¿Alguien ha tratado con esto que me puede dar algunos consejos?


Puede usar este código para registrar el evento PostBack:

btn.OnClientClick = string.Format("{0}; $.facebox.close();",ClientScript.GetPostBackEventReference(btn, null));

esto permitirá que el botón dispare un PostBack.


hurgando alrededor de la facebox.js encontré esta línea en la función init (configuración) ...

$(''body'').append($.facebox.settings.faceboxHtml)

Cambié eso a ...

$(''#aspnetForm'').append($.facebox.settings.faceboxHtml)

y se carga en la etiqueta del formulario, no estoy seguro todavía si hay algún efecto secundario


Incluso después de: $ (''# aspnetForm''). Append ($. Facebox.settings.faceboxHtml)

cambio lo encontré problemático. Cuando miras la fuente de la página usando firebug, ves que todo el html en el div asignado para ser el div de facebox se dobla (se repite).

Entonces todos esos controles con supuestos id únicos se duplican en la página, eso no puede ser bueno en la devolución de datos, he decidido poner controles web asp.net en un recuadro no es una buena idea.


Modifiqué facbox.js para hacer esto. Tal vez hay una solución mejor, pero esto funciona como un encanto

Aquí lo que hice:

  1. agregue dos líneas encima de facbox.js before ''(function ($)''

var willremove = ''''; var willremovehtml = '''';

  1. encuentre "reveal: function (data, klass) {" y agregue estas líneas antes de la primera línea de función.

willremove = data.attr(''id'') willremovehtml = $(''#''+willremove).html() $(''#''+willremove).html('''')

  1. encuentra "close: function () {" y haz que se vea como a continuación.

close: function() { $(document).trigger(''close.facebox'') $(''#''+willremove).html(willremovehtml) willremovehtml = '''' willremove = '''' return false }