2017-07-05 2 views
0

Ich entwickle eine MVC 4 Web-Anwendung.Abfrage Zeichenfolge Parameter verloren auf Anfrage

Ich versuche eine URL zu machen, die sich in einem autorisierten/nicht autorisierten Kontext ändert.

Ich Erzeugen Sie die folgende URL für nicht autorisierten Benutzer:

http://localhost/vendas-web/Login?ReturnUrl=%2Fvendas-web%2FClienteNovo%2FIndex%299999

Das erste Mal, dass ich getestet habe, es funktionierte gut.

Aber .. das zweite Mal, dass ich versucht habe, habe die Query-String verloren .. und die URL verwandelte sich in:

http://localhost/vendas-web/Login

Wenn ich es gegen Chrom auf anonymen Registerkarte testen , es funktioniert gut. Wenn ich den Wert des letzten Parameters ändere, funktioniert es FINE.

Es gibt eine Art von Cache im Zusammenhang damit?

Was mache ich falsch?

Soo, meine Frage ist:

Wie halte ich meine volle URL in jedem Szenario ??

Ty

+0

Versuchen Sie, einen nicht autorisierten Benutzer auf eine andere Seite umzuleiten? –

Antwort

0

Mein Problem war Cache ...

ich diese Anmerkung verwendet habe, mit Cache durch die Anwendung zu vermeiden.

[OutputCache(NoStore = true, Duration = 0)] 
+0

Bitte überprüfen Sie es als akzeptierte Antwort, wenn es Ihr Problem gelöst hat. – Arashsoft

1

Es gibt wirklich nicht genug Informationen hier, aber was Sie sprechen wahrscheinlich, ist, dass das erste Mal, wenn ein Benutzer autorisiert werden muss, werden sie auf die erste URL automatisch umgeleitet, die die ReturnUrl Bit enthält . Dies ist in das Framework integriert, damit der Benutzer nach der Anmeldung wieder zu dieser URL weitergeleitet werden kann. Wenn Sie jedoch diese erste erste Weiterleitung an die Anmeldeseite fortführen müssen, liegt das an Ihnen. Alle Links müssen manuell den Query-String-param hinzu:

@Url.Action("SomeAction", new { ReturnUrl = Request["ReturnUrl"] }) 

Und jegliche Form muss sie als versteckten Eingang umfasst:

@Html.Hidden("ReturnUrl", Request["ReturnUrl"]) 

Ansonsten ja, es wird verloren gehen, weil die wörtliche URL‘ Das erneute Anfordern beinhaltet es nicht. Es ist nicht nur magisch angehängt.

Verwandte Themen