Domanda

Ho un modale in una pagina che contiene anche un controllo utente.

Quando si fa clic sul pulsante 'OK' nel modale, vorrei aggiornare un UpdatePanel che è contenuto all'interno del controllo utente sulla pagina.

Al momento il pulsante 'OK' sul modal non una pagina di postback completo, vorrei aggiornare solo il pannello, ma non sono sicuro di come inserirlo come trigger dato che non è nel controllo UpdatePanel è .

Grazie.


ho una risposta parziale ... posso aggiornare il pannello di una volta in questo modo:

Dim addTrigger As New AsyncPostBackTrigger
addTrigger.ControlID = MyButton.ID
addTrigger.EventName = "Click"
MyUserControl.GetUpdatePanel.Triggers.Add(addTrigger)

Ciò causerà un parziale di post-indietro la prima volta, ma dopo quella prima volta che provoca un intero Ricarica pagina. Tutte le idee?

È stato utile?

Soluzione

È possibile aggiungere in modo esplicito il pulsante OK come AsyncPostBackTrigger per l'UpdatePanel.

Nella marcatura aspx per l'UpdatePanel:

<asp:UpdatePanel ID="updPanel" runat="server">
    <ContentTemplate>
    ....
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="the control" EventName="Click" />
    </Triggers>
</asp:UpdatePanel>

o nel code-behind:

protected override void OnInit(EventArgs e)
{
    AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
    trigger.ControlID = "the Control";
    trigger.EventName = "Click";

    updPanel.Triggers.Add(trigger);

    base.OnInit(e);       
}

Altri suggerimenti

Forse mi manca qualche sottigliezza qui, ma non puoi semplicemente chiamare il Update () metodo sul pannello di aggiornamento?

È possibile utilizzare il seguente modello per controllare un postback pannello in JavaScript:

var prm = Sys.WebForms.PageRequestManager.getInstance(); 
prm._panelsToRefreshIDs = UPComments.uniqueID;
prm._doPostBack(eventTarget,eventArgument);
theForm.submit();

Non puoi semplicemente aggiungere un AsyncPostBackTrigger di programmazione dal code-behind?

Like This ?

appena messo il contenuto del pannello in un pannello di aggiornamento sothat si dispone di:

                      Il controllo utente qui.           

questo sarà anche evitare che la finestra pop-up disapearing fino a quando si desidera.

Nel codice dietro è possibile chiamare con popup.show (0 o pop.hide () e collegarli al vostro controllo utente Addin evento gan ot e la manipolazione delle inyour codice pagine dietro. In questo modo il controllo utente può indirizzare il popup che cosa fare e quando. si può anche per per aggiornare pannello di aggiornamento HTE se avevi bisogno per qualche motivo.


per il caso di cui sopra tha tI appena realizzato è tha tyou WAN per updat ehtë pannello nel controllo. Creare un metodo che ho nthe di controllo che chiama il metodo di aggiornamento o teh pannello di aggiornamento un fuoco dthen quell'evento sulla tua pagina. E 'lo stesso principio in senso inverso. Utilizzando evento ben si può collegare fino l'applicazione per fare alcune cose piuttosto fresco.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top