2 Stimmen

sitzungen in asp.net verwenden

Ich möchte, dass die Daten, die ich in ein Textfeld auf Seite A eingebe, auf Seite B abrufbar sind.

z.B.: Benutzer gibt seinen Namen in das Textfeld auf Seite A ein

Seite B sagt Hallo (Informationen, die sie in das Textfeld eingegeben haben)

Ich habe gehört, dass dies mit Hilfe einer Sitzung erreicht werden kann, aber ich weiß nicht, wie.

Kann mir jemand sagen, wie man eine Sitzung einrichtet und wie man darin Daten speichert? Ich danke Ihnen!

5voto

Syed Tayyab Ali Punkte 3555
Session["valueName"]=value; 

oder

Session.Add("valueName",Object);

Und Sie können den Wert in der Beschriftung abrufen (zum Beispiel) durch

/*if String value */     
Label1.Text=Session["valueName"].ToString();

oder

Label1.Text=Session.item["valueName"].ToString();

Außerdem können Sie die Sitzung löschen, indem Sie;

/*This will remove what session name by valueName.*/
 Session.Remove( "valueName"); 

/*All Session will be removed.*/ 
Session.Clear();

4voto

JohnOpincar Punkte 5192
// Page A on Submit or some such
Session["Name"] = TextBoxA.Text;

// Page B on Page Load
LabelB.Text = Session["Name"];

Sitzung ist standardmäßig aktiviert.

1voto

eKek0 Punkte 22479

Ja, Sie könnten so vorgehen, wie JohnOpincar gesagt hat, aber das müssen Sie nicht.

Sie können seitenübergreifende Postbacks verwenden. In ASP.Net 2.0 ermöglichen seitenübergreifende Postbacks die Übertragung auf eine andere Webseite, was zu intuitiverem, strukturiertem und wartbarem Code führt. Unter dieser Artikel können Sie die verschiedenen Optionen und Einstellungen für den seitenübergreifenden Postback-Mechanismus erkunden.

Sie können auf die Steuerelemente der Ausgangsseite zugreifen, indem Sie diesen Code auf der Zielseite verwenden:

protected void Page_Load(object sender, EventArgs e)
{
    ...
    TextBox txtStartDate = (TextBox) PreviousPage.FindControl("txtStartDate ");
    ...
}

0voto

Bob Punkte 93584

Sie können dazu Sitzungen verwenden, aber Sie können auch Cross Page Postbacks verwenden, wenn Sie ASP.NET 2.0 oder höher verwenden

http://msdn.microsoft.com/en-us/library/ms178139.aspx

if (Page.PreviousPage != null) {
    TextBox SourceTextBox = 
        (TextBox)Page.PreviousPage.FindControl("TextBox1");
    if (SourceTextBox != null) {
        Label1.Text = SourceTextBox.Text;
    }
}

0voto

Andrei Rînea Punkte 19502

Es gibt sogar einen einfacheren Weg. Verwenden Sie die Abfragezeichenfolge :

Auf Seite A :

<form method="get" action="pageB.aspx">
    <input type="text" name="personName" />
    <!-- ... -->
</form>

Auf Seite B :

Hello <%= Request.QueryString["personName"] %> !

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X