Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    19

    [2.0-VB.NET] caricamento dinamico usercontrol

    Salve,
    ho creato una pagina aspx in cui, in base a determinate condizioni, carico degli usercontrol piuttosto che altri. Per far ciò mi dichiaro degli oggetti del tipo usercontrol in questione a livello di pagina

    Protected WithEvents oregProvCom As regProvCom
    Protected WithEvents oNominativi As WUC_nominativi
    Protected WithEvents oMatriceascx As matrice
    ....

    poi nel load della pagina madre mi carico gli userControl in questo modo

    oregProvCom = LoadControl("regProvCom.ascx")
    oregProvCom = DirectCast(oregProvCom, regProvCom)

    la stessa cosa per gli altri usercontrol

    Il problema sta nel fatto che nel load degli userControl il "Page.IsPostBack" è SEMPRE uguale a TRUE il che mi comporta non il corretto funzionamento degli usercontrol. Da cosa può dipendere questo comportamento? è il loadControl che rende lo usercontrol postback = true?

    grazie mille
    Cinzia

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Pagina:
    codice:
        <form id="form1" runat="server">
        <div>
        <asp:PlaceHolder ID="ph" runat="server"></asp:PlaceHolder>
        <asp:Button ID="bt" runat="server" Text="PostBack" />
        </div>
        </form>
    
    
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            ph.Controls.Add(LoadControl("ucPostback.ascx"))
            If IsPostBack Then
                JavaScript.Alert(Me, "Messaggio dalla pagina: Postback effettuato")
            End If
        End Sub
    controllo:
    codice:
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Not Page.IsPostBack Then
                JavaScript.Alert(Me.Page, "Messaggio dallo UserControl: Primo Caricamento")
            End If
            Response.Write("hallo world")
        End Sub

    Si comporta correttamente, al primo caricamento (page.IsPostback = false) ricevo il messaggio dallo UserControl, al Postback invece ricevo il messaggio dalla pagina

    (ps: il caricamento del controllo lo faccio in una sola riga)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    19
    ho risolto semplicemente spostando tutto il caricamento degli usercontrol nell'init della pagina madre...in questo modo riconosce poi tutti i controlli e i loro eventi

    grazie mille ugualmente

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.