asp.net mvc html.routelink ()를 ID없이 내 홈페이지의 URL을 반환 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/660373

문제

나는 내에 단일 경로가 있습니다 Global.asax.vb 이런 페이지 ...

Shared Sub RegisterRoutes(ByVal routes As RouteCollection)
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}")
    routes.MapRoute( _
        "IdOnly", _
        "{id}", _
        New With {.controller = "Page", _
                  .action = "Details", _
                  .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 The Html.RouteLink() 내 홈페이지의 기능?

도움이 되었습니까?

해결책

홈페이지의 "Idonly"경로 전에 새 경로를 추가하십시오.

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

RouteLink 라우팅 테이블에서 첫 번째 일치하는 매핑을 사용하여 링크를 생성합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top