Asp.net MVC использует один и тот же контроллер для нескольких маршрутов - PullRequest
0 голосов
/ 18 февраля 2010

У меня есть такой простой контроллер (нет, не совсем, но, допустим, у меня есть)

public class SomethingController : Controller {
    public ActionResult Method1() {
        return View("Something1");
    }

    public ActionResult Method2() {
        return View("Something2");
    }
}

Теперь я хочу использовать этот контроллер с двумя разными маршрутами:

public static void RegisterRoutes(RouteCollection routes) {
    routes.MapRoute("Route 1", "Route1/{action}", new { controller = "Something" });
    routes.MapRoute("Route 2", "Route2/{action}", new { controller = "Something" });
}

До этого момента ничего особенного. Тем не менее, на мой взгляд Something1 Я сейчас хочу сделать

Html.ActionLink("Do Something", "Method2")

и это должно отобразить <a href="Route1/Method2"... или <a href="Route2/Method2"..., в зависимости от того, какой маршрут привел к контроллеру, который отображал представление. Как это можно сделать?

1 Ответ

3 голосов
/ 18 февраля 2010

Используйте Html.RouteLink вместо Html.ActionLink. Позволяет указать название маршрута.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...