2015-05-01 3 views
1

Я не могу получить значение UrlParameter в MVC. Я думаю, что все правильно настроено, кроме 1 вещи.UrlParameter всегда имеет значение null в MVC

вот мой MapRoute

public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      "Banyo", // name it! 
      "{controller}/{action}/{Filtre}", // Route name 
      new { controller = "Banyo", action = "Marka", Filtre = UrlParameter.Optional } // Parameter defaults 
     ); 

     routes.MapRoute(
      "Home", // Route name 
      "{action}/{Filtre}", // URL with parameters 
      new { controller = "Home", action = "Index", Filtre = UrlParameter.Optional } 
     ); 

    } 

и здесь функция Действие ...

public ActionResult Marka(string Filtre = null) 
    { 
     return View(); 
    } 

и Filtre всегда возвращает нуль, даже я ввожу URL "http://localhost:7555/Banyo/Marka/Seranit". Я ожидал получить параметр «Seranit» значение Filtre.

если я ввожу "localhost: 7555/Banyo/Marka? Filtre = Seranit"; ... Filtre paramter дает мне значение «Seranit», как и ожидалось. Как я могу это исправить?

ответ

3

Я скопировал вашу конфигурацию маршрута и создал контроллер, как и вы, и он сработал. У вас есть маршрут по умолчанию? он определен до пользовательского маршрута? учтите, что маршрут по умолчанию поймает его первым, если он определен ранее. Дайте мне знать, чтобы я мог вам помочь.

+0

спасибо большое за ваше время. Когда я скопировал маршруты, есть только два маршрута, а пользовательский - выше стандартного. И теперь я прокомментировал вариант по умолчанию. он по-прежнему ведет себя одинаково –

+0

Это странно, я просто скопировал и вложил все, и это сработало. Пожалуйста, создайте пустой проект и скопируйте и вставьте свой код там. –

+0

Я только что создал новый проект mvc и скопировал его, но он ведет себя одинаково :(не могли бы вы отправить мне свой образец проекта? –

Смежные вопросы