10 messaggi dal 20 febbraio 2007
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><br />
        Pass:<asp:TextBox ID="txt_pass" runat="server" Style="position: relative"></asp:TextBox><br />
        <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???

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ì?

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à!
C'è un perchè cerchi di mettere l'utente nella sessione non usi l'autenticazione di asp.net che ti risolve non pochi problemi?? Sircuro che la session si configurata e abilitata correnttamente nel web.config??

fammi sapere.
Ciauz

imperugo
Microsoft MVP
myblog : http://www.tostring.it

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
    In primo piano

    I più letti di oggi

    Media
    In evidenza
    MISC