Laden...

[gelöst] Querystring in Postback noch vorhanden

Erstellt von typhos vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.146 Views
T
typhos Themenstarter:in
243 Beiträge seit 2006
vor 17 Jahren
[gelöst] Querystring in Postback noch vorhanden

Hi,
ich beschäftige mich erst seit kurzem mit ASP.NET und mir ist nun etwas aufgefallen. Wenn ich eine Seite mit einem Querystring aufrufe (hier: ?message=TEXT), wird der Inhalt von message in einem Label angezeigt. Auf dieser Seite befindet sich auch ein Formular, welches beim Absenden die Seite neu lädt. in einem if (IsPostBack) {...} - Block verarbeite ich die Angaben des Formulars.
Funktioniert auch alles ganz gut, nur dass der Querystring nach dem Absenden des Formulars erhalten bleibt, gefällt mir gar nicht. Dadurch wird ja der Text aus "message" immer noch angezeigt.

Meine Frage ist also: Wie kann ich den Querystring beim Absenden des Formulars entfernen?

Im action-Attribut des Formulars steht auch immer "Default.aspx?message=TEXT" drin, obwohl ich schon versucht habe, das action-Attribut weg zu lassen. Auch action="Default.aspx" (also ohne Query) bringt keine Veränderung.

Danke im Voraus!

6.862 Beiträge seit 2003
vor 17 Jahren

Deaktiviere mal den Viewstate - des müsste helfen.

Baka wa shinanakya naoranai.

Mein XING Profil.

T
typhos Themenstarter:in
243 Beiträge seit 2006
vor 17 Jahren

Bringt leider auch nichts. Lediglich die Formularfelder bleiben beim Reload leer. Der Querystring ist aber weiterhin vorhanden... 🤔

T
typhos Themenstarter:in
243 Beiträge seit 2006
vor 17 Jahren

Habe es jetzt so gelöst, dass ich im submit-Button das Attribut PostBackUrl="~/Default.aspx" gesetzt habe. Damit funktioniert es... im action-Attribut der Form steht aber imemr noch der Querystring. Es muss doch auch irgendwie möglich sein, diesen gespeicherten Querystring zu entfernen.

Zum ViewState: Auch wenn ich den ViewState deaktiviere, steht im Quelltext noch ein hidden-Feld:

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="..." />

Ist das normal?

T
typhos Themenstarter:in
243 Beiträge seit 2006
vor 17 Jahren

So, nach ewiger Suche im Netz bin ich auf die Antwort gestoßen: Es geht nicht. Ich kann das action-Attribut einer Form (runat="server") nicht ändern.

Also muss ich meinen kleinen WorkAround mit Attribut PostBackUrl im submit-Button wohl lassen. Na ja, so lange es funktioniert 🙂

1.130 Beiträge seit 2005
vor 17 Jahren

Original von typhos

Meine Frage ist also: Wie kann ich den Querystring beim Absenden des Formulars entfernen?

Unabhängig der Kosmetik. Normalerweise ist das Entfernen des QueryStrings nicht nötig. Auch mit QueryString kannst Du alle Zustände abfragen.

T
typhos Themenstarter:in
243 Beiträge seit 2006
vor 17 Jahren

Ja, ist richtig. Aber es ging mir ja (auch) darum, dass der Querystring aus der URL verschwindet. Natürlich hätte ich auch mit IsPostBack abfragen können...