Настройка asp.net mvc localhost / Продукты / Новости для localhost / Продукты, Новости - PullRequest
0 голосов
/ 19 апреля 2011

Можно ли использовать запятую вместо косой черты в пути маршрутизации. Пример

localhost/products,news

вместо

localhost/products/news

Спасибо!

Ответы [ 2 ]

0 голосов
/ 19 апреля 2011
0 голосов
/ 19 апреля 2011

Вы можете сопоставить маршрут следующим образом:

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

Обновление:

Я обнаружил проблему.Запятые не рассматриваются как косая черта.Вы можете пропустить параметры, когда используете косую черту, но с запятыми это не так.Когда вы используете запятые, вы должны отдавать все, что есть в маршруте.Таким образом, вы должны предоставить все 3 параметра, иначе он не будет работать.http://domain.com/files,details,3 будет работать, но http://domain.com/files,index не будет.В этом URL нет второй запятой, поэтому она не будет соответствовать маршруту.Таким образом, вы пишете другой маршрут перед первым.

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