Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881

    Modalpopup da uno UserControl

    Si può avere uno usercontrol incluso in una pagina, che lancia una modalpopup extender?
    Vorrei la modalpopupextender nello usercontrol, non nella pagina.
    In alternativa potrei avere anche la modalpopup nella pagina ma dovrei comandarne l'apertura, oltre che il contenuto, dallo usercontrol....

    Questa modalpopup mi serve per mostrare dei semplici link a files pdf, potrebbe essere un link unico come più di uno: la lista di questi link la devo generare sicuramente da codebehind ma secondo voi faccio meglio a usare un modalpopup extender o posso cavarmela più facilmente con un modal jquery o JS a cui passo il contenuto?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    se metti il Linkbutton ed il ModalPopupExtender (che lo estende per la popup) nello usercontrol non funziona tutto ?

    anche lo UC ha un codebehind
    Ultima modifica di djciko; 18-10-2019 a 10:58

  3. #3
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    Temo che il problema sia sempre il fatto che il tutto è contenuto in un updatepanel a livello di masterpage perchè al momento non riesco a farlo funzionare:
    Ho la mia pagina con una multiview con diverse view, in una di queste ho il mio usercontrol.
    Lo usercontrol consiste in una gridview con un elenco di "testate" e cliccando una riga dovrei aprire un modalpopup sull'evento onselectedindexchanged.
    La gridview ha per ogni riga un linkbutton a cui, sul rowdatabound della gridview attacco il comando di selezione della riga così:
    codice:
     Protected Sub gridView1_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles GridView1.RowDataBound
          Dim btn As LinkButton = e.Row.FindControl("selettore")
          If Not IsNothing(btn) Then
             btn.OnClientClick = Page.ClientScript.GetPostBackEventReference(GridView1, "Select$" + e.Row.RowIndex.ToString())
          End If
       End Sub
    Sull'evento selectedIndexChanged della gridview invece ho tutto il codice che crea il contenuto per la modal Bootstrap (semplicemente valorizzo un literal contenuto nel modal con dei links ai files) e alla fine lancio la visualizzazione del modal con JS
    codice:
      Protected Sub GridView1_SelectedIndexChanged(sender As Object, e As EventArgs)
          'prendo l'ID della testata e verifico se ci sono documenti collegati
          .....
           'valorizzo il literal coi links
          ltfiles.Text = strsql
          'apro il modal di bootstrap
          Dim almes As String = "document.getElementById('modalcomfiles').modal('show');"
          Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "MyScript", almes, True)
       End Sub
    End Class
    Da quello che vedo funziona tutto tranne l'apertura della modal perchè la console del page inspector mi dice
    "TypeError: document.getElementById(...) is null"
    Se invece uso il selettore jquery per lanciare la modal "$('#modalcomfiles').modal('show')" ottengo "ReferenceError: $ is not defined"
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    @mac, scusami se non rispondo al quesito ma volevo (ri)sottolineare una cosa.

    Purtroppo i maledetti UpdatePanel e tutto cio' che riguarda Ajax riscritto da Microsoft erano del tutto SPERIMENTALI e molti controlli dell'AjaxControlToolkit avevano anche degli evidenti bug.

    Quelli base, ripeto (scriptmanager, updatepanel), non funzionano bene quando interagiscono con altre tecnologie lato client. Ed ASP.Net è pesantemente lato client, sai bene che per fare molte cose usa Javascript. Dovevano sistemarli, ma il progetto è rimasto cosi'.

    Se poi il programmatore ci mette anche nidificazioni a go-go, bootstrap e sue modali (scritte lato server), masterpage, multiview, usercontrol e così via, diventa davvero difficile avere qualcosa di stabile e soprattutto diventa difficile risalire ai problemi.

    In altre parole, le pagine devono essere piu' semplici possibile.
    Spero che non sia stato tu l'autore dell' "architettura".

  5. #5
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  6. #6
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    ho risolto visualizzando i files in un'altra view e buonanotte alle modali
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.