2016-08-03 11 views
0

Ich bin neu in ASP.NET und ich versuche Sitzungsvariable festzulegen. Ich habe ein Formular (SelectPlayer.aspx), wo ich versuche, die Sitzung zu setzen, aber wenn ich versuche, das Ergebnis auf der zweiten Seite zu sehen, zeigt es mir keinen Wert. Unten ist mein Code.Wie wird die ASP.NET-Sitzungsvariable festgelegt?

SelectPlayer.aspx

public partial class SelectPlayer : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (Session["player1"] == null) 
     { 
      lblSelectPlayer.Text = "Select Player 1"; 
     } 
    } 

    protected void btnSelect_Click(object sender, EventArgs e) 
    {    
     Session["player1"] = "PlayerSession";     
     Response.Redirect("Score.aspx");   
    } 

}  

Score.aspx

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (Session["player1"] == null) 
     { 
      Response.Redirect("SelectPlayer.aspx"); 
     } 
    } 
+0

Probieren Sie Response.Redirect ("Score.aspx", false) aus, da true die Standardoption ist und in einigen Fällen eine Ausnahme auslöst. Überprüfen Sie: https://msdn.microsoft.com/en-us/library/a8wa7sdt(v=vs.110).aspx – Vijai

+0

dasselbe Ergebnis mit false –

+0

Was ist der Modus, den Sie in Web.config verwendet haben (z. B. ) – Vijai

Antwort

-2

ändern Response.Redirect("Score.aspx");-Response.Redirect("Score.aspx", true);

Der zweite Parameter einer Umleitung zeigt an, dass Sie die Antwort enden soll. Ich habe in der Vergangenheit festgestellt, dass das Setzen einer Sitzung direkt vor der Weiterleitung ohne diesen zweiten Parameter Probleme verursachen kann.

+0

dasselbe Ergebnis Ich bekomme null auf der zweiten Seite –

+0

Können Sie den relevanten Code von Ihrer zweiten Seite, 'Score.aspx', hochladen? – Santi

+0

ja bitte überprüfen Sie den bearbeiteten Code –