Создайте два варианта маршрута на одну и ту же страницу (MVC) - PullRequest
1 голос
/ 02 ноября 2011

Я хочу иметь доступ к одной и той же странице двумя разными способами:

Сначала с параметром показать некоторую конкретную информацию.

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

Во-вторых, без параметра, чтобы показать общие вещи.

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

Как мне построить маршрут, чтобы принять оба варианта?

1 Ответ

2 голосов
/ 02 ноября 2011
routes.MapRoute(
    "About",
    "About/{id}",
    new { controller = "About", action = "Index", id = UrlParameter.Optional }
);

и затем:

public ActionResult Index(string id)
{
    // if id = null => /About was requested
    // if id != null => /About/abc was requested
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...