maproute, запросы и MVC - PullRequest
       17

maproute, запросы и MVC

0 голосов
/ 18 декабря 2008

У меня есть два маршрута:

routes.MapRoute(
            "FetchVenue",                                     
            "venue/fetchlike/{q}",                                     
            new { controller = "venue", action = "fetchlike" }      
        );

        routes.MapRoute(
            "venue",                                         
            "venue/{venueId}",                                 
            new { controller = "Venue", action = "Index" }   
);

URL / место проведения / подобный / тест передается правильному контроллеру Однако тест url / venue / fetchlike /? Q = передается действию index.

Я хочу иметь возможность передавать данные в виде строки запроса.

Что я делаю не так?

Ответы [ 2 ]

3 голосов
/ 23 декабря 2008

На самом деле проблема была в том, что маршрут:

 routes.MapRoute( "FetchVenue", "venue/fetchlike/{q}",  new { controller = "venue", action = "fetchlike" });

на самом деле должно было быть:

 routes.MapRoute( "FetchVenue", "venue/fetchlike",  new { controller = "venue", action = "fetchlike" });

Это означает, что URL был бы:

/ место / fetchlike? Д = тест

как предложено выше Стрелкстрелком.

Таким образом, в случае запроса параметров вы НЕ должны определять их в маршруте!

2 голосов
/ 18 декабря 2008

Не в последнюю очередь, ваш URL не должен выглядеть как /venue/fetchlike?q=test вместо /venue/fetchlike/?q=test

...