Проблема MapRoute в ASP.NET MVC (для IIS6) - PullRequest
0 голосов
/ 10 февраля 2010

У меня проблема с маршрутизацией на сервере (IIS6). Работает нормально в среде разработки:

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

Здесь я называю это действие:

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

Все маршруты, которые у меня есть:

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

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

Я пробовал URL: "FindCities.aspx /" + state_id и "FindCities.aspx / {state_id}" и другие варианты, но он не находит правильный путь. Как правильно написать маршруты для IIS6? ТИА

Ответы [ 2 ]

0 голосов
/ 01 сентября 2011

@ 1gn1ter Рассматривали ли вы использовать на своем URL-адресе jquery.ajax метод @ Url.Action ("")? Используя @ Url.Action (""), вы позволяете ему разрешать весь ваш URL во время выполнения. Таким образом, он будет соответствовать как среде разработки, так и производственной среде.

Если вам нужно использовать этот конкретный маршрут, вы также можете использовать @ Url.RouteUrl (), передавая имя вашего маршрута в качестве параметра.

Пример

 $("#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  
} 

     }); 
    });
0 голосов
/ 10 февраля 2010

Я написал прямой URL, если вы знаете, как писать Маршруты для IIS6, пожалуйста, ответьте

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