2017-03-17 3 views
0

Après avoir cliqué sur un élément de ma page Web, j'obtiens le comportement attendu de Response.Redirect dans la trace, le point d'arrêt de la page attendue est touché et continue à s'exécuter normalement. Cependant quand je m'attendrais à ce que la nouvelle page soit chargée, l'affichage dans le navigateur n'est pas changé. Il ressemble et se comporte comme le clic vous ramène à la même page.Response.Redirect ne change pas d'URL

Je me suis déplacé à l'appel de redirection d'un bloc try-catch, et ont essayé différentes combinaisons de vrai/faux comme second paramètre avec HttpContext ... CompleteRequest()

Ce qui pourrait empêcher une page étant chargé après un appel de Response.Redirect et le sub Page_Load termine?

Editer:
Le site utilise css et javascript pour créer un menu déroulant pouvant être lu avec des liens auto-référencés, voir ci-dessous. J'ai essayé d'utiliser les outils de développement de Chrome pour voir ce que le réseau traitait. Autant que je sache en lisant l'onglet Réseau, le clic créait l'appel correct; état 200, tapez xhr. Xhr était la seule chose que j'ai trouvé étrange, mais il semble que ce soit simplement une référence à l'ajax? Cela me laisse dans la même position. Je dis au site de rediriger vers une nouvelle URL, et je vois le réseau prendre une demande pour cette URL, mais l'URL dans la barre d'adresse ne change pas; pas la page affichée.

$(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

Est-ce que la page que vous redirigez d'avoir également le code pour vous rediriger vers votre page d'origine sur la charge? – N0Alias

+0

@NoAlias: Non, juste une double vérification –

Répondre

0

S'il vous plaît essayez ceci:

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

    transition: "pop" 

}); 
+0

Cela ressemble à javascript, Comment puis-je l'utiliser dans la logique de vérification des résultats d'une base de données? –