2010-02-10 14 views
0

J'ai un problème de routage sur le serveur (IIS6). Il fonctionne bien sur l'environnement de développement:Problème MapRoute dans ASP.NET MVC (pour IIS6)

routes.MapRoute(
     "FindCities", 
     "FindCities/{state_id}", 
     new { controller = "Regions", action = "FindCitiesByStateID", state_id = "" }); 

Ici, j'appelle cette action:

$.ajax({ 
      type: "GET", 
      contentType: "application/json; charset=utf-8", 
      url: "FindCities/" + state_id, 
      data: "{}", 
      dataType: "json" 
      ... 

Tous les itinéraires que j'ai:

  routes.MapRoute(
       "Default", 
       "{controller}.aspx/{action}/{id}", 
       new { action = "Index", id = "" } 
      ); 

      routes.MapRoute(
       "Root", 
       "", 
       new { controller = "Home", action = "Index", id = "" } 
      ); 

J'ai essayé url: « FindCities.aspx/"+ state_id et" FindCities.aspx/{state_id} "et d'autres variantes, mais il ne trouve pas le bon chemin. Quelle est la bonne façon d'écrire des routes pour IIS6? TIA

Répondre

0

J'ai écrit une url directe, si vous savez comment écrire itinéraires pour répondre IIS6 s'il vous plaît

 $.ajax({ 
      type: "GET", 
      contentType: "application/json; charset=utf-8", 
      url: "Regions.aspx/FindCitiesByStateID/", 
      data: 'state_id=' + state_id, 
      dataType: "json" 
      ... 
0

@ 1gn1ter avez-vous pensé à utiliser sur vous jquery.ajax url le @ Url.Action ("") méthode? En utilisant @ Url.Action ("") vous le laissez résoudre votre URL entière sur l'exécution. Ainsi, il correspondra à la fois sur le développement et l'environnement de production.

Si vous avez besoin d'utiliser cette route spécifique, vous pouvez également utiliser @ Url.RouteUrl() en passant votre nom de route comme paramètre.

EXEMPLE

$("#something").click(function(){ 

    var values = {cityId: $("#txtCity").val() } 

    $.ajax({  
     //Other ajax definitions like type, content, datatype, etc 

     url: '@Url.Action("YourActionName", "YourControllerName")',  
     data: values, 


    success: function(data){  
//Do something  
},  
      error: function(x, y, z){  
//Something bad happened 
} 

    }); 
    });