jQuery Dialog-Postback pero UpdatePanel no se actualiza

Quiero mostrar un cuadro de diálogo jQuery UI desde Codebehind y necesito actualizarlo después de las devoluciones.

El diálogo es un control para filtrar y buscar datos. Entonces, el usuario selecciona DropDownLists e ingresa el texto en TextBoxes, hace clic en un "Botón Aplicar", se produce una devolución de datos asincrónica, los datos se filtran de acuerdo con la selección del usuario y el resultado se mostrará en un GridView. Por lo tanto, necesito actualizar UpdatePanel alrededor de GridView.

La devolución de datos asincrónica funciona con la ayuda de estos enlaces:

jQuery Cuadro de diálogo de interfaz de usuario con devolución de botones ASP.NEThttp: //blog.roonga.com.au/2009/07/using-jquery-ui-dialog-with-aspnet-and.htm

(Básicamente eldlg.parent().appendTo(jQuery("form:first"));-Solución

Problem: No puedo actualizar UpdatePanel ni con UpdateMode = "Always" ni manualmente desde codebehind a través de UpdatePanel.Update (). Supongo que tiene algo que ver con que el Diálogo no esté dentro del UpdatePanel o algo similar. Espero que alguien pueda ayudarme.

Algunas fuentes:

function createChargeFilterDialog() {
    //setup dialog
    $('#Dialog_ChargeFilter').dialog({
        modal: true,
        resizable: false,
        autoOpen: false,
        draggable: true,
        hide: "Drop",
        width: 850,
        height: 600,
        position: "center",
        title: "Charge-Filter",
        buttons: {
            "Close": function () {
                $(this).dialog("close");
            }
        },
        open: function (type, data) {
            $(this).parent().appendTo(jQuery("form:first"))
        },
        close: function (type, data) {
        }
    });
}

Se llama desde el código detrás cuando BtnShowDialog (fuera del jQuery-Dialog) se hace clic a través de

AjaxControlToolkit.ToolkitScriptManager.RegisterStartupScript _
            (Me.Page, GetType(Page), "showChargeFilterDialog", "createChargeFilterDialog();$('#Dialog_ChargeFilter').dialog('open');", True)

Actualiza: también noté un problema en los valores de devolución. Todos los cuadros de texto si están vacíos o no tienen una coma añadida. Esto indica que los controles se representan varias veces de acuerdo con:http: //www.componentart.com/community/forums/t/60999.asp

Estoy seguro de que ambos problemas están relacionados. Todo el diálogo con todos sus controles se recreará en cada devolución de datos asincrónica, por lo tanto, todos los nombres de control existen varias veces en el DOM (lo que causa el problema de anexión de coma ViewState). Los controles solo son visibles en FireBug / IE Deveoper Toolbar y no en HTML-Source, por lo tanto, supongo que jQuery causa estos problemas. Cómo puedodispone el diálogo o cómo puedo @prevenir la recreación (marque si ya existe) del diálogo? ¿Es esto porque el cuadro de diálogo está dentro de un UpdatePanel o porque se movió (a través de Javascript) fuera del UpdatePanel?

Destruir el diálogo antes de la devolución de datos asíncrona no resuelve el problema porque el diálogo simplemente desaparecerá:

<asp:Button ID="BtnApplyFilter" OnClientClick="$('#Dialog_ChargeFilter').dialog('destroy');" ... />

Tu ayuda es muy apreciada

Solució: terminé usando el ModalPopupExtender del AjaxControlToolkit. Después de algunos pequeños problemas, funciona como un encanto con las devoluciones de datos asincrónicas (no olvide llamar aMPE.Show() en cada función de código subyacente si desea que la ventana emergente permanezca visible). Podría agregar más código si alguien está interesado.

Respuestas a la pregunta(4)

Su respuesta a la pregunta