Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    70

    Session e passaggio dei valori

    Ciao a tutti,
    sto iniziando a vedere come lavora la variabile Session in asp per cercare di fare qualcosina...
    Ho pensato ad una cosa molto elementare, cioè mettere user e pass in due campi di una web form, metterli nella variabile session e poi farli stampare in un altra pagina richiamata da un bottone, senza controlli di validità, senza niente... solo per vedere come funziona il passaggio delle sessioni.
    L'eccezione che salta è che l'oggetto della seconda pagina è nullo... quindi non trasmette nulla... vi posto il codice

    Codice pagina Login.aspx:
    codice:
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %>
    
    <!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>Untitled Page</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            User:<asp:TextBox ID="txt_user" runat="server" Style="position: relative"></asp:TextBox>
    
            Pass:<asp:TextBox ID="txt_pass" runat="server" Style="position: relative"></asp:TextBox>
    
            <asp:Button ID="btn_login" runat="server" OnClick="btn_login_Click" Style="position: relative"
                Text="Login" PostBackUrl="~/Info.aspx"/></div>
        </form>
    </body>
    </html>
    ... quel PostBackUrl è giusto??? :master:

    Codice della pagina in c#
    codice:
    public partial class Login : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            
        }
        protected void btn_login_Click(object sender, EventArgs e)
        {
            Utente utente = new Utente(txt_user.Text, txt_pass.Text);
            Session["Utente"] = utente;
        }
    }
    
    public class Utente
    {
        public String User;
        public String Pass;
        public Utente(String user, String pass)
        {
            this.User = user;
            this.Pass = pass;
        }
    }
    ...la mia classe utente, che quella che poi vado a memorizzare nella sessione va bene messa lì? :master:

    Codice della pagina Info (che prende i dati della Session e li stampa in due label):
    codice:
    public partial class Info : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Utente utente = (Utente)Session["Utente"];
            Label1.Text = utente.User;
            Label2.Text = utente.Pass;
        }
    }
    Grazie a tutti per le dritte... io cerco di vedere qualche esempio in giro, se voi siete più veloci di me ve ne sono grato!!!

    Cià!

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    70
    ok trovato, ho dovuto fare un merge di molti post ma alla fine ce l'ho fatta ecco i miei errori:

    1) nel codice aspx non c'era bisogno del PostBackUrl, quindi l'ho tolto
    2) nel codice aspx.cs dopo la riga che aggiunge l'oggetto Utente a session, ho messo un response redirect alla 2° pagina

    e quindi va tutto ok, se vi serve che vi posti il codice cambiato ditelo pure ma i cambiamenti (a parte che li ho scritti li) ma sono molto semplici da fare

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.