Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [Sessione] Ripristinare un contenitore di oggetti

    Salve,
    non riesco proprio a capire come fare a ripristinare nella pagina un'oggetto che contiene altri oggetti ma, più in generale, non riesco a ripristinare un oggetto come potrebbe essere una semplice Label (non la proprietà Text).

    Per esempio:

    Ho due pagine A e B.

    Nella pagina A salvo il riferimento ad una Label e rimando alla pagina B:

    lblPaginaA.Text = "Ciao"
    Session("label") = lblPaginaA
    Page.Responce.Redirect("B.aspx")

    Nella pagina B (ho provato in tutti gli eventi) setto una label (inserita in fase di progettazione):

    lblPaginaB = Session("label")

    Ma nella pagina che viene restituita al browser la label non è settata!

    Controllando in fase di debug si vede che lblPaginaB.Text prende effettivamente la stringa "Ciao" ma questa non viene visualizzata!

    Qualcuno mi saprebbe spiegare perché mai?

    Grazie mille a tutti
    GrooveMan

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: non so proprio a cosa possa servire, però:

    nella pagina A ho per esempio

    codice:
            <div id="div1" runat="server" style="border:1px blue solid">
                <asp:Label ID="Label1" runat="server" BorderColor="Red" BorderStyle="Solid" BorderWidth="1px" Text="Pietro"></asp:Label>
                
    
    
                <span>Prova</span>
            </div>
    del codice metto:

    Me.Session.Add("div", Me.div1)

    Me.Response.Redirect("b.aspx")


    in B, nell'evento load metto:
    Dim dv As System.Web.UI.HtmlControls.HtmlGenericControl = DirectCast(Me.Session("div"), System.Web.UI.HtmlControls.HtmlGenericControl)

    Me.Form.Controls.Add(dv)
    Pietro

  3. #3
    Ciao Pietro e grazie per avermi risposto.

    Ma nel codice che mi hai dato tu il div viene inserito alla fine della pagina?

    A me servirebbe "rimpiazzare" un controllo già posizionato in fase di progettazione...
    GrooveMan

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Sempre non capendo a che serva ho questo esempio fatto adesso: vedi se va bene

    pagina A
    codice:
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="a.aspx.vb" Inherits="prove_a" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Pagina senza titolo</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Button ID="Button1" runat="server" Text="Button" />
    
            
    
            
    
            <div id="div1" runat="server" style="border:1px blue solid">
                <asp:Label ID="Label1" runat="server" BorderColor="Red" BorderStyle="Solid" BorderWidth="1px" Text="Pietro"></asp:Label>
                
    
    
                <span>Prova</span>
            </div>
        </form>
    </body>
    </html>
    codice pagina A
    codice:
    Option Strict On
    
    Partial Class prove_a
        Inherits System.Web.UI.Page
    
        Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
            Me.Session.Add("div", Me.div1)
    
            Me.Response.Redirect("b.aspx")
    
        End Sub
    End Class


    pagina B
    codice:
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="b.aspx.vb" Inherits="prove_b" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Pagina senza titolo</title>
    </head>
    <body>
        <form id="form1" runat="server">
            <div id="div1" runat="server">xxxxxx</div>
        </form>
    </body>
    </html>
    codice pagina B
    codice:
    Option Strict On
    
    Partial Class prove_b
        Inherits System.Web.UI.Page
    
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim dv As System.Web.UI.HtmlControls.HtmlGenericControl = DirectCast(Me.Session("div"), System.Web.UI.HtmlControls.HtmlGenericControl)
    
            Me.div1.Parent.Controls.Add(dv)
            Me.div1.Parent.Controls.Remove(Me.div1)
        End Sub
    End Class
    Pietro

  5. #5
    Grazie Pietro e scusa se rispondo solo ora...

    Ho provato anche il secondo codice che mi hai dato ma, purtroppo, aggiunge il controllo in coda agli altri...

    Grazie mille per essere intervenuto.

    Aggiunto dopo:

    Grazie mille per avermi dato lo spunto: ho risolto recuperando l'indice del "vecchio controllo" con il metodo IndexOf(<controllo>) e inserendo il nuovo nella posizione del vecchio con il metodo AddAt(<indice>, <controllo>)




    Ciao e grazie ancora!
    GrooveMan

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.