Jquery-oder Javascript-Redirect auf Controller/Action

Ich habe den folgenden code der funktioniert auf das erste mal um:

$("#CompDD").change(function () {
                //var parts = (window.location.pathname.split("/"));
                var ctrlName = '@ViewContext.RouteData.Values["Controller"].ToString()';
                var actnName = '@ViewContext.RouteData.Values["Action"].ToString()';
                var url = (ctrlName + "/" + actnName + "/?SearchString=" + $('#CompDD option:selected').text() + "&atton=" + $('#AttDD option:selected').val());
                //delete ctrlName;
               //delete actnName;
                //window.location = ($(location).attr('href') + "/?SearchString=" + $('#CompDD option:selected').text() + "&atton=" + $('#AttDD option:selected').val());
                //window.location = (ctrlName + "/" + actnName + "/?SearchString=" + $('#CompDD option:selected').text() + "&atton=" + $('#AttDD option:selected').val());
                //$(location).attr('href', url);
                window.location.href = url;
                //alert(ctrlName + "\n" + actnName);
            });

Jedoch auf spätere änderungen der drop-down in Frage (#CompDD) es wird ein weiterer controller/action, um das Ende der Verknüpfung, ex. es fügt eine weitere "Gönner/Index" an das Ende der bestehenden "Gönner/Index", thenit fügt die searchsrting Variablen usw.

Bitte entschuldigen Sie die Kommentare und Sachen auf meinen code. Wie bekomme ich Jquery (oder javascript) umleiten, ohne das anfügen der name des Domänencontrollers und action-Namen über und über, oder was ist der beste Weg, dies zu tun?

EDIT: So eine einfache Lösung! Ich hatte, um die root-slash an den URL-string, Beispiel das funktionierte:

var url = ("/" + ctrlName + "/" + actnName + "/?SearchString=" + $('#CompDD option:selected').text() + "&atton=" + $('#AttDD option:selected').val());

Beachten Sie den Schrägstrich am Anfang der Zeichenfolge, die ich bauen....Huch!

  • Sie konnte einfach den querystring-Teil mit window.location.search = "?SearchString=something" etc.
  • Warum nicht einfach die dropdownlist innerhalb eines Formulars mit FormMethod.Get ein und senden das Formular?
  • adeno, wie würden Sie die Fenster.Lage.Suche?
InformationsquelleAutor dave317 | 2015-10-17
Schreibe einen Kommentar