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à!