2017-03-17 6 views
0

Nach dem Klicken auf ein Element auf meiner Webseite, bekomme ich das erwartete Verhalten von Response.Redirect in der Ablaufverfolgung, der Haltepunkt auf der erwarteten Seite wird getroffen und verarbeitet normal weiter. Wenn ich jedoch erwarte, dass die neue Seite geladen wird, wird die Anzeige im Browser nicht geändert. Es sieht aus und verhält sich so, als ob der Klick Sie auf die gleiche Seite zurückgebracht hätte.Response.Redirect nicht ändern URL

Ich habe die Umleitung Aufruf aus einem Try-Catch-Block bewegt, und haben verschiedene Kombinationen von true/false als zweiten Parameter mit Httpcontext ... CompleteRequest versucht()

Was eine Seite verhindern könnten von wird nach einem Aufruf von Response.Redirect geladen und die Page_Load-Sub abgeschlossen?

Bearbeiten:
Die Website verwendet CSS und Javascript, um ein erweiterbares Dropdown-Menü mit selbstverweisenden Links zu erstellen, siehe unten. Ich habe versucht, die Dev-Tools von Chrome zu verwenden, um zu sehen, was das Netzwerk verarbeitet. Soweit ich das beim Lesen der Netzwerk-Registerkarte feststellen kann, erzeugte der Klick den richtigen Anruf. Status 200, geben Sie xhr ein. xhr war das einzige, was ich seltsam fand, aber es sieht so aus, als wäre das nur ein Hinweis auf Ajax? Dies lässt mich in der gleichen Position. Ich rate der Site, auf neue URL umzuleiten, und ich sehe das Netzwerk eine Anfrage für diese URL, aber die URL in der Adressleiste ändert sich nicht; nicht die angezeigte Seite.

$(document).on('click','.navigation', function() { 
      loadItems($(this).attr('id'), $(this).attr('itemName')); 
      return false; 
     } 
     ); 

var loadItems = function (id, itemName) { 
    var editInfor = 
     { 
      "method": "getChildItems", 
      "id": id 
     }; 

    $.ajax 
     (
      { 
       type: "POST", 
       url: $.url, 
       dataType: "json", 
       data: JSON.stringify(editInfor), 
       success: function (jsonReply) { 

        $("#chkEnabled").attr('checked', jsonReply.enabled) 
        if (jsonReply.method == 'getChildItems') { 

         $("#childrens").html(''); 
         var html = '<table>' 
         if (jsonReply.successfull) { 
          $.each(jsonReply.children, function (i, item) { 
           html += '<tr><td><span class="children">' + item.text + '</span></td><td><a class="moveItemUp btn" href="#" id="moveItemUp' + item.id + '">Move Up <i class="icon-circle-arrow-up"></i></a> <a class="moveItemDown btn" href="#" id="moveItemDown' + item.id + '">Move Down <i class="icon-circle-arrow-down"></i></a></td><td><a href="#" class="removeItem btn btn-danger" id="removeItem' + item.id + '">Remove</a></td></tr>' 

          }); 
         } 
         html += '</table>' 
         $($.childrens).html(html); 
        } 
       } 
      } 
     ); 
+0

Ist die Seite, die Sie auch Code umleiten haben Sie zu Ihrer ursprünglichen Seite auf Last zu umleiten zurück? – N0Alias

+0

@NoAlias: Nein, nur doppelt überprüft –

Antwort

0

Bitte versuchen Sie dies:

$.mobile.changePage("/Exmaple.aspx", { 

    transition: "pop" 

}); 
+0

Das sieht aus wie Javascript, Wie kann ich dies innerhalb der Logik verwenden, die Ergebnisse aus einer Datenbank überprüft? –

Verwandte Themen