Ich habe einen ActionLink, der mein öffentliches ActionResult aufruft, und ich möchte, dass es auf die Seite zurückkehrt, von der es aufgerufen wurde, aber wie?ActionResult zurück zur Seite, die es genannt
Antwort
Es gibt ein paar Tricks, die Sie dafür verwenden können.
Die einfachste ist ...
return Redirect(HttpContext.Request.UrlReferrer.AbsoluteUri);
absoluteURI kann Ihnen nicht den genauen Pfad, den Sie suchen, aber UrlReferrer sollte die imformation haben Sie suchen. Redirect gibt eine Unterklasse von ActionResult zurück, so dass es sich um einen gültigen Rückgabewert handelt.
Eine andere Idee ist es, den Umleitungsort von gespeicherten Werten abzugrenzen. Dies ist nützlich, wenn Sie mehrere Anforderungen stellen, bevor Sie umleiten möchten, z. B. wenn Sie ein Formular validieren und Validierungsprobleme bei der ersten Antwort anzeigen. Eine andere Situation wird sein, wenn der Referrer keine lokale Site ist. In beiden Fällen ist Ihr Referrer nicht das, was Sie wollen und Sie müssen den richtigen Ort von woanders abrufen.
Bestimmte Implementierungen umfassen die Verwendung eines ausgeblendeten Eingabefelds in Ihrem Formular, den Sitzungsstatus, das Ziehen eines Deskriptorwerts aus den Routendaten oder auch nur einen konstanteren Wert wie HttpContext.Request.ApplicationPath.
Viel Glück.
Ich bin auf der Seite "A", von dort navigiere ich auf die Seite "B". Jetzt aktualisiere ich die Seite 'B'. In solchen Fällen gibt Request.UrlReferrer 'B' zurück, aber ich erwarte 'A'. Irgendwelche Hilfe ?? –
Bedenken Sie, dass Ihr ActionResult aufgrund der statuslosen Natur des Webs nicht von Ihrem ActionLink "aufgerufen" wird, sondern nur eine URL, die der User-Agent angefordert hat.
Aus diesem Grunde, die einzigen wirklichen „eingebauten“, wie Sie wissen, wo der Benutzer herkam ist durch die HTTP-Request-Header inspizieren, um zu sehen, was die verweisenden Seite war:
string referrer = Request.Headers["referer"];
Sie‘ d dann verantwortlich sein für das Analysieren der Aktionsmethode von dieser URL, wenn Sie sie direkt aufrufen würden. Beachten Sie, dass dieser Verweis möglicherweise kein Link auf Ihrer eigenen Website ist.
- 1. Zurück zur vorherigen Seite
- 2. Zurück zur verweisenden Seite
- 3. Wie eine Seite zurück zu gehen und überprüfen, welche die Seite, die die Aktion genannt ist
- 4. zur vorherigen Seite Zurück ohne
- 5. zurück bool von asp.net mvc actionresult
- 6. MVC 4 gibt JSON als ActionResult zurück
- 7. gibt eine Fehlermeldung mit actionResult zurück
- 8. JQTouch Remote-Seite - zurück zur App
- 9. Eine Audiodatei abspielen und zurück zur Seite
- 10. Zurück zur vorherigen Seite mit JSF
- 11. zurück zur vorherigen Seite mit Formular complet
- 12. Struts 2: zurück zur rufenden Seite
- 13. Zurück zur aufgerufenen Seite in CakePHP 3
- 14. Zurück zur vorherigen Seite in der Webansicht
- 15. Wie komme ich zurück zur vorherigen Seite?
- 16. Zurück zur vorherigen Seite der aktuellen Sitzung
- 17. Codeigniter Controller zurück zur vorherigen Seite
- 18. MVC ActionResult ein anderes ActionResult aufrufen
- 19. Zurück zur vorherigen Seite, wenn die Zurück-Taste im WebView-Fragment gedrückt wird?
- 20. Zurück-Taste jquery zur vorherigen Seite nachdem die aktuelle Seite neu geladen wurde
- 21. Zurück zur vorherigen Seite, wenn die Zurück-Schaltfläche in WebView in Fragment gedrückt wird?
- 22. MVC3 Benutzerdefiniertes ActionResult
- 23. MVC filtering actionResult von dropdownlist
- 24. Laravel 5 - Nach der Anmeldung Redirect zurück zur vorherigen Seite
- 25. Android Login zur Website - Immer zurück Login-Seite Daten
- 26. phonegap: externe Seite öffnen und dann zurück zur App gehen
- 27. Weiterleiten/Zurück zur gleichen (vorherigen) Seite in Django?
- 28. Django Admin zurück zur Seite nach dem Speichern
- 29. Flask/Werkzeug, zurück zur vorherigen Seite nach Login
- 30. Nach dem Hinzufügen von Datensatz PHP zurück zur vorherigen Seite
Ihre Frage ist nicht sehr klar. Standardmäßig verwendet der einfachste ActionLink-Konstruktor denselben Controller, der die Ansicht beim Erstellen der Verknüpfung verarbeitet hat. Meinst du, du willst einen Ajax-Anruf, damit sich die Browserseite nicht ändert? – womp