Urlredirect в MVC2 - PullRequest
       2

Urlredirect в MVC2

1 голос
/ 23 февраля 2010

В global.asax

        routes.MapRoute(
            "Test_Default", // Route name
            "test/{controller}/{action}", // URL with parameters
            new { }
        );


        routes.MapRoute(
            "Default",
            "{universe}",
            new { controller = "notfound", action = "error"}
        );

У меня есть контроллер: Home, содержащий действие: Index Введите URL в браузере: h ** p: // localhost: 53235 / test / home / index

В представлении index.aspx в теге : я хочу создать ссылку на второй маршрут.

<%=Html.RouteLink("Link", new { universe = "MyUniverse" })%>

Разве это не должно генерировать ссылку на второй маршрут в Global.asax? Сгенерированный URL из приведенного выше: h ** p: // localhost: 53235 / test / home / index? Universe = MyUniverse. Я могу заставить его работать, только если я укажу название маршрута: <%=Html.RouteLink("Link", "default", new { universe = "MyUniverse" })%>

Я что-то упустил?

1 Ответ

0 голосов
/ 23 февраля 2010

Как вы обнаружили, вам нужно использовать имя маршрута, если вы хотите создать ссылку на второй маршрут. Первый маршрут всегда будет оцениваться, потому что даже если параметр universe не существует в определении маршрута, он просто передается как аргумент строки запроса.

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