Ich möchte eine Controller-Aktion aufrufen, wenn ein Wert aus einem Textfeld aktualisiert wird.Javascript Redirect verkettet URL statt Umleiten
Beachten Sie, dass das Skript innerhalb der gleichen Ansicht sitzt, die von der Botschaft/Index Controller-Aktion
Ich habe versucht, es zu tun, wie diese zurückgegeben werden:
<script>
$('#deliveryDate').change(function() {
var date = $('#deliveryDate').val();
var sDate = date.split('/');
location.href = 'dispatch/' + sDate[0] + sDate[1] + sDate[2];
});
</script>
Und es funktioniert perfekt die erste Mal, wenn sich der Wert ändert (dh die Seite wird zu /dispatch/12122016
umgeleitet).
Wenn ich jedoch den Wert erneut ändere, wird es an /dispatch/dispatch/13122016
umgeleitet, so dass der Wert nur concatanating bleibt und das erzeugt natürlich einen Fehler.
Ich habe versucht, die Umleitung Linie zu location.href = '@Url.Action("Index", "Dispatch")/' + sDate[0] + sDate[1] + sDate[2];
chaging, aber jetzt ist es verkettet nur das neue Datum an die URL statt Umleitung wie ich muss es ... (dh es /dispatch/12122016/13122016
navigiert)
Gibt es eine Möglichkeit, dies ohne den literalen URL-Pfad zu tun?
Wie kann „klar“ die aktuelle URL, bevor die Aktion Umleiten ich brauche (was nur dispatch/12122016
sein sollte?
Ist die 'Dispatch'-Route relativ zu einem Pfad oder ist sie immer absolut zum Host? – ryeballar
@ryeballar Es ist nur vom Gastgeber. Zum Beispiel beim Debuggen der vollen URL ist 'localhost: 60775/dispatch/13122016' – Bassie