2011-09-08 1 views
2

이 내 경로에 (작품)Asp.Net MVC - HTML.ActionLink - HowToGoTo - 클라이언트/색인/A - 경로

routes.MapRoute("ClientIndexAndSubstringChar", _ 
        "{controller}/{action}/{FirstChar}", _ 
        New With {.char = "[a-zA-Z0-9]"}) 

이 내 컨트롤러에 (작품)

Function Index(Optional ByVal KlantenSet As List(Of Domain.Slave.Klant) = Nothing, Optional FirstChar As Char = Nothing, Optional format As String = "html") As ActionResult 
    //Some Code 
    End Function 

이는 .... ActionLink가 잘못

@If ViewBag.ClientsLetters IsNot Nothing Then 
    For Each ClientLetter As String In ViewBag.ClientsLetters 
    @<div class="ClientsLetter"> 
     @Html.ActionLink(ClientLetter, "Index", "Client", New With {.FirstChar = ClientLetter}) 
    </div> 
    Next 
End If 

를 (제대로 연결하지 않음) 내보기입니다

문제를 해결하려면 어떻게해야합니까? 내 링크 링크 : http://localhost:52254/Client/Index.html?Length=6 대신 액션 링크 http://localhost:52254/Client/Index/A

답변

2

의 여기

@Html.ActionLink(ClientLetter, "Index", "Client", New With {.FirstChar = ClientLetter}) 

매개 변수는이 http://msdn.microsoft.com/en-us/library/dd504972.aspx

@Html.ActionLink(ClientLetter, "Index", "Client", New With {.FirstChar = ClientLetter}, Null) 

이 같은이어야한다 일치 매개 변수 RS 나는 당신이 할 수있는 생각지도 노선의 경우이 http://msdn.microsoft.com/en-us/library/dd493068.aspx

일치 :

routes.MapRoute("ClientIndexAndSubstringChar", _ 
       "{controller}/{action}/{FirstChar}") 

그냥 마지막 매개 변수를 제거. 그것을 시도하고 그것이 무엇을 참조하십시오.

+0

당신은 맞지만 http : // localhost : 52254/Client/Index.html을 표시하고 있습니까? FirstChar = A, http : // localhost : 52254/Client/Index/A로 표시하기가 어렵습니까? 그 경로가 작동하기 때문에 ... :) – NicoJuicy

+0

저는 VB에 익숙하지 않으므로 조금 더 어렵습니다. 그런 식으로 보이게하려면 MapRoute에서 뭔가를해야합니다. ActionLink의 링크는 내가 믿는 MapRoute을 기반으로합니다. – TIHan

+0

답변이 업데이트되었습니다. – TIHan