Antworten:
(Es folgt der Text des verlinkten Abschnitts des Wikipedia-Eintrags.)
Eine typische URL mit einer Abfragezeichenfolge lautet wie folgt:
http://server/path/program?query_string
Wenn ein Server eine Anforderung für eine solche Seite empfängt, führt er ein Programm aus (sofern dies konfiguriert ist) und übergibt die Abfragezeichenfolge unverändert an das Programm. Das Fragezeichen wird als Trennzeichen verwendet und ist nicht Teil der Abfragezeichenfolge.
Ein Link auf einer Webseite kann eine URL enthalten, die eine Abfragezeichenfolge enthält. HTML definiert jedoch drei Möglichkeiten, wie ein Webbrowser die Abfragezeichenfolge generieren kann:
Die Hauptverwendung von Abfragezeichenfolgen besteht darin, den Inhalt eines HTML-Formulars zu enthalten, das auch als Webformular bezeichnet wird. Insbesondere wenn ein Formular mit den Feldern Feld1, Feld2, Feld3 gesendet wird, wird der Inhalt der Felder wie folgt als Abfragezeichenfolge codiert:
field1=value1&field2=value2&field3=value3...
field1=value1&field1=value2&field1=value3...
Für jedes Feld des Formulars enthält die Abfragezeichenfolge ein Paarfeld = Wert. Webformulare können Felder enthalten, die für den Benutzer nicht sichtbar sind. Diese Felder werden beim Senden des Formulars in die Abfragezeichenfolge aufgenommen
Diese Konvention ist eine W3C-Empfehlung. W3C empfiehlt, dass alle Webserver zusätzlich zu kaufmännischen Und-Trennzeichen [6] Semikolon-Trennzeichen unterstützen, um anwendungs- / x-www-form-urlencodierte Abfragezeichenfolgen in URLs in HTML-Dokumenten zuzulassen, ohne dass die Entität kaufmännisches Und entziehen muss.
Technisch gesehen wird der Formularinhalt nur dann als Abfragezeichenfolge codiert, wenn die Formularübermittlungsmethode GET ist. Dieselbe Codierung wird standardmäßig verwendet, wenn die Übermittlungsmethode POST ist, das Ergebnis jedoch nicht als Abfragezeichenfolge gesendet wird, dh nicht zur Aktions-URL des Formulars hinzugefügt wird. Die Zeichenfolge wird vielmehr als Hauptteil der HTTP-Anforderung gesendet.
Versuchen Sie es so. Es sollte funktionieren
Response.Redirect(String.Format("yourpage.aspx?strId={0}&strName={1}&strDate{2}", Server.UrlEncode(strId), Server.UrlEncode(strName),Server.UrlEncode(strDate)));
~mypage.aspx?strID=x&strName=y&strDate=z
Dies kann erreicht werden mit:
Response.Redirect("http://localhost/YourControllerName/ActionMethodName?querystring1=querystringvalue1&querystring2=querystringvalue2&querystring3=querystringvalue3");
Ich benutze das AbsoluteUri und du kannst es so bekommen:
string myURI = Request.Url.AbsoluteUri;
if (!WebSecurity.IsAuthenticated) {
Response.Redirect("~/Login?returnUrl="
+ Request.Url.AbsoluteUri );
Dann, nachdem Sie sich angemeldet haben:
var returnUrl = Request.QueryString["returnUrl"];
if(WebSecurity.Login(username,password,true)){
Context.RedirectLocal(returnUrl);
Es funktioniert gut für mich.