2009-10-12 7 views
11

Sind die HttpContext.Current.Items verloren, wenn eine Server.Transfer(); auftritt?Scope of HttpContext.Current.Items

Wenn ja, was ist der beste Weg für mich, Informationen an eine andere Seite zu senden, ohne die Sitzung zu durchlaufen?

+1

Warum möchten Sie nicht durch die Sitzung gehen? – thommie

Antwort

15

Ja, der Kontext wäre immer noch gültig. Es würde ungültig werden oder brechen, wenn Sie Response.Redirect() verwenden.

Siehe Artikel The HttpContext Items Collection

+1

Große Referenz! –

+1

Ich bin froh, dass ich helfen konnte! –

1

Sie können auf die Eigenschaft Page.PreviousPage mit allen Daten zugreifen, wenn Sie Server.Transfer() verwenden. Und auch ja, Kontext wäre gültig.

+1

wäre der Kontext noch gültig oder wäre ein neuer Kontext für den Aufruf erstellt worden? –

+1

Entschuldigung, schau dir meine bearbeitete Antwort an. – Restuta

+1

Es gibt eine Einschränkung, die auf referenzierende Steuerelemente und deren Wert von Page.PreviousPage über FindControl angewendet wird, wenn die vorherige Seite eine Masterseite verwendet. Sie müssen als Erstes auf den Platzhalter des Inhalts verweisen, dass Sie zuerst auf den Inhaltsplatzhalter verweisen müssen (aus Platzgründen sind Nullprüfungen nicht möglich): 'var cp = this.PreviousPage.Controls [0] .FindControl (" ContentPlaceHolder1 ");' 'TextBox txtFirstName = (TextBox) cp.FindControl (" txtFirstName ");' –

Verwandte Themen