2012-04-13 18 views
1

Ich bin nur ratlos und bin mir nicht sicher, was los ist. Es fällt mir auch schwer, das Problem zu untersuchen, weil ich nicht genau weiß, wie ich die richtige Frage stellen soll. Dies sollte für jeden von Ihnen eine einfache Frage sein, aber Ihre Antwort würde so sehr geschätzt werden!ASP.NET Hinzufügen/Links vor Abfragezeichenfolge

Ich habe eine asp.net Seite mit dem folgenden Element:

<a href="http://www.mysite.com?id=1">Link</a> 

Großen.

Aber wenn ich über den Link auf der Ausgabeseite bewegen, passiert etwas mit ASP und dass Link zu dieser URL navigiert: http://www.mysite.com/?id=1

Es fügt hinzu, dass extra „/“ vor der Abfrage-String. Wie kann ich das umgehen? Es ist nicht intuitiv für mich, warum dies geschieht. Ist das ein Problem mit web.config? Es passiert sogar, wenn ich gerade ein neues Projekt starte, eine neue Seite erstelle und dieses eine Element dort ablege.

Vielen Dank!

Und es scheint auf verschiedenen Browsern zu passieren.

+0

Was passiert, wenn Sie den Parameter programmatisch hinzufügen, nur aus Neugier? – IrishChieftain

Antwort

1

Dieser Schrägstrich ist erforderlich, der Querystring kann der Domäne nicht sofort folgen. Siehe http://en.wikipedia.org/wiki/URL#Syntax

Ihre bestimmte URL gibt den Pfad aus, aber Sie können den Schrägstrich zwischen der Domäne und dem Pfad nicht weglassen, es sei denn, nichts anderes folgt der Domäne.

+0

Vielen Dank für Ihre Eingabe. Das habe ich ein paar Stunden nach dem Einreichen der Frage mit einem großen alten Gesicht bemerkt. Hoffentlich, wenn jemand in die gleiche Richtung läuft, werden sie diese Frage finden. Sie können es als geschlossen markieren. Nochmals vielen Dank für all Ihre Hilfe Everebode! – VeganBrandon

1

Ich bin mir nicht sicher, dass Sie das überhaupt tun möchten.

Es passiert wahrscheinlich, weil das technisch die richtige Art ist, eine URL zu bilden. Siehe RFC-1738

Eine HTTP-URL hat die Form:

http://<host>:<port>/<path>?<searchpart> 

wo <host> und <port> werden, wie in Abschnitt 3.1 beschrieben. Wenn :<port> weggelassen wird, ist der Port standardmäßig auf 80 eingestellt. Kein Benutzername oder Passwort ist
zulässig. <path> ist ein HTTP-Selektor und <searchpart> ist eine Abfrage
Zeichenfolge. Das ist optional, ebenso wie das <searchpart> und sein
vorangestelltes "?". Wenn weder <path> noch <searchpart> vorhanden ist, kann auch das "/" weggelassen werden.

Da Suchabschnitt vorhanden ist, ist der Schrägstrich erforderlich. Es kann ohne es funktionieren, aber es sollte wahrscheinlich dort sowieso sein.

Verwandte Themen