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

    Aggiorna pagina aspx con menu in flash

    Ciao ragazzi,

    eccomi qua dopo un po di tempo è questa è la mia domanda:

    nella pagina home.aspx ho questo:
    <% if session ("lingua") = "ITA" then%>
    <menusup:menus id="Menus1" runat="server"></menusup:menus>
    <% else %>
    <menusupeng:menuseng id="menu1" runat="server"></menusupeng:menuseng>
    <% end if %>

    questo chiama due pagine menu_sup.ascx_ita e menu_sup_eng.ascx
    a seconda della variabile si session("lingua") settata....
    in queste pagine c'è un menu ita e un menu eng fatto in flash..

    inizialmente nel global.asax dichiaro nella session_start:
    Session("Lingua") = "ITA"

    poi su una voce del menu per cambiare faccio cosi:
    If Session("lingua") = "ITA" Then
    Session("lingua") = "ENG"
    Else
    Session("lingua") = "ITA"
    End If
    Response.Redirect(Application("PATH") & "home.aspx")

    e fin qua tutto ok

    il problema è quando cambio menu per passare da inglese a italiano e viceversa la pagina home.aspx non si aggiorna.

    qual'è la soluzione a questo problema.....

    datemi una dritta
    saluti e grazie

  2. #2
    e come fai a cambiarla ???

  3. #3
    cliccando su una voce del menu chiamo change.aspx e il suo contenuto è:

    If Session("lingua") = "ITA" Then
    Session("lingua") = "ENG"
    Else
    Session("lingua") = "ITA"
    End If
    Response.Redirect(Application("PATH") & "home.aspx")

    in home.aspx c'è questo:
    <% if session ("lingua") = "ITA" then%>
    <menusup:menus id="Menus1" runat="server"></menusup:menus>
    <% else %>
    <menusupeng:menuseng id="menu1" runat="server"></menusupeng:menuseng>
    <% end if %>

    non se mi son spiegato bene

    saluti

  4. #4
    Prova semplicemente a fare
    un Trace (Ad esempio con un Response) del valore
    della Sessione nell' Evento Page_Load di home.aspx cosi' vedi
    se il problema è nella pagina change.aspx.
    Se vedi che la sessione cambia correttamente allora il problema sta dove gestisci
    il load del menu nella home.aspx

  5. #5
    Probabilmente il pezzo di codice presente nella home.aspx ....

    <% if session ("lingua") = "ITA" then%>
    <menusup:menus id="Menus1" runat="server"></menusup:menus>
    <% else %>
    <menusupeng:menuseng id="menu1" runat="server"></menusupeng:menuseng>
    <% end if %>


    ....viene eseguito come se fosse scritto nell'evento Page_Load (Il click di un pulsante avviene dopo il Load ma Prima del Prerender). Prova a metterlo nel Page_Prerender (cambia pero' un po la sintassi!!!)

    Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
    Dim userControl As String
    If Session("lingua") = "ITA" Then
    userControl = "../../cartellaUC/ucITA.ascx"
    Else
    userControl = "../../cartellaUC/ucENG.ascx"
    End If
    Me.Controls.Add(LoadControl(userControl))
    End Sub

  6. #6
    Scusa ... forse quello che ho scritto andrebbe bene nel caso venisse tutto gestito tramite il postBack ma nel tuo caso hai un redirect quindi devi come dice "raffaeu" controllare la sessione se cambia correttamente

  7. #7
    ho controllato

    il cambio avviene correttamente

    nella pagina menu_sup.ascx c'è solo:
    <table border="0" bgcolor="#ffdb63" cellpadding="0" cellspacing="0">
    <tr>
    <td>
    <embed src="images/menuvilla_ita.swf" width="730" height="26" runat="server" ID="Embed1"></embed>
    </td>
    </tr>
    </table>

    e nella pagina menu_supeng.ascx c'è:
    <table border="0" bgcolor="#ffdb63" cellpadding="0" cellspacing="0">
    <tr>
    <td>
    <embed src="images/menuvilla_eng.swf" width="730" height="26" runat="server" ID="Embed1"></embed>
    </td>
    </tr>
    </table>

    il cambio è corretto pero non si vede , il cambiamento avviene solo se aggiorno la pagina
    dalla tools bar con pulsante del browser aggiorna......e cosi a me non serve

    c'è una soluzione.... e grazie per l'interessamento al problema

  8. #8
    ho pubblicato una demo all'url

    http://www.micro-labs.it/miramoto/home.aspx

    provate un po

    grazie

  9. #9
    E' un problema lato client che ha internet Explorer e riguarda la memorizzazione nella cache.
    Infatti lanciando il tuo sito da firefox NESSUN problema!!

    Per risolverlo prova ad includere nell' HEAD della tua pagina il tag

    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">

    E magari prima di testare il tutto, per sicurezza, cancella i file temporanei.

  10. #10
    grazie TrigunXX
    grande....

    risolto...

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.