Могу ли я сделать ASP.NET MVC Html.RouteLink () возвращает URL для моей домашней страницы без ID?

голоса
3

У меня есть один маршрут в моей Global.asax.vbстранице , как это ...

Общий Sub RegisterRoutes (ByVal маршруты Как RouteCollection)
    routes.IgnoreRoute ( {ресурс} .axd / {* PathInfo})
    routes.MapRoute (_
        IdOnly, _
        {Я бы}, _
        Новые С {.controller = Страница, _
                  .action = Подробности, _
                  .id = 7} _
    )
End Sub

Это idдля моей домашней страницы. Это отображается , когда кто - то переходит на мой:http://example.com/

Но это также работает: http://example.com/7

Я хотел бы не иметь никаких связей в любом месте на своем сайте по адресу , с idиз 7. Но, то Html.RouteLink()функция генерирует те.

Для просмотра модели, что это ребенок на главной странице ...

<%=Html.RouteLink(Model.Parent.Title, _
                  IdOnly, _
                  New With {.id = Model.Parent.Id})%>

... генерирует следующий якорный тег:

<a href=/7>Home</a>

Как я могу переопределить hrefпорожденной Html.RouteLink()функцией для моей домашней страницы?

Задан 18/03/2009 в 23:34
источник пользователем
На других языках...                            


1 ответов

голоса
4

Добавить новый маршрут до вашего маршрута «IdOnly» на домашней странице:

routes.MapRoute( _
    "HomePage", _
    "", _
    New With {.controller = "Page", _
              .action = "Details", _
              .id = "7"} _
)

RouteLink будет использовать первое согласованное отображение в таблице маршрутизации, чтобы сгенерировать ссылку.

Ответил 19/03/2009 в 21:06
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more