Querystrings und Sessions

aquasonic

Erfahrenes Mitglied
Hallo,
Ich habe eine ASP.NET Seite, und übergebe in der URL (QueryString) die Variable "my_url". Ich möchte jetzt diese Variable auslesen und sie dann in eine Session mit dem Name "my_url" speichern. Nur leider klappt es nicht, ich kann weder den QueryString lesen noch eine Session schreiben...

Kann mit vielleicht jemand mit einem kurzen Beispiel weiterhelfen? Danke schonmals für die Hilfe...
 
Hallo!

Das geht so ...
Code:
Session["my_url"] = (_Datentyp_)Request.QueryString["my_url"];
Wobei _Datentyp_ durch den entsprechenden Datentypen zu ersetzen ist, wie z.B. int, long, double, DateTime, string etc.
Evtl. kannst Du es in dem Fall sogar weglassen, weils der Session denk ich egal ist, was sie zu schlucken bekommt ... bin mir da jetzt aber ned 100%ig sicher. ;)
 
OK, danke...

es gibt mir aber noch folgende Fehlermeldungen:
Code:
Ein Objektverweis ist für das nicht statische Feld, Methode oder Eigenschaft 'System.Web.UI.UserControl.Session' erforderlich.
und
Code:
'System.Web.UI.UserControl.Request' deutet auf 'Eigenschaft' hin, wo 'Klasse' erwartet wurde
Ich habe es schon versucht für die Session ein

Code:
HttpSessionState Session;
einzufügen, geht aber irgendwie auch nicht :-(

Muss ich noch irgendwelche speziellen Klassen "usen" Oder was muss ich noch hinzufügen bzw. ändern?
 
Wäre toll wenn mir da noch jemand sagen könnte wieso dass das nicht funktioniert, obwohl es meiner Meinung nach sollte?!
 
Also von einem Control aus greifst Du auf die Session so zu:
Code:
System.Web.HttpContext.Current.Session ...
So ähnlich, weiß das auswendig immer nicht. ;)
 
PHP:
if (Request.QueryString["test"] != null) { Session["test"] = Request.QueryString["test"]; }
else if (Session["test"] == null) { Session["test"] = "null"; }
lblNavigation.Text = Session["test"].ToString();

schreibt die Session wenn ich etwas übergebe, übergebe ich dann aber wieder nichts, dann ist wieder "null" drin (somit schreibt er keine wirkliche Session). Was ist da das Problem

Folgende Klassen habe ich implementiert:

PHP:
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
 
probier es doch mal mit try - catch, statt if / else

Code:
try
{
    Session["test"] = Request.QueryString["test"];
} 
catch
{
    Session["test"] = "null";
}


lblNavigation.Text = Session["test"].ToString();

Wenn kein Querystring übergeben wird, wird der catch-file durchlaufen... Es wird also auf jeden Fall eine Session geschrieben...


ciao Anke
 
Ja aber wenn kein QueryString übergeben wird will ich den alten Wert der Session behalten...Egal es läuft schon so wie ich es gemacht habe, das Problem war eine Einstellung im IE... ;)
 

Neue Beiträge

Zurück