문제

asp.net mvc 3.0과 함께 s#arp 아키텍처 2.0을 사용하고 있습니다.마스터 페이지의 면도기 코드는 다음과 같습니다.

 @Html.ActionLink("Logout", "LogOff", "Users", new { style = "color:Blue;" })

어떤 이유로 앱이 더 이상 올바른 링크(컨트롤러 사용자의 작업 로그오프에 대한)를 생성하지 않고 작업 로그오프를 위해 현재 컨트롤러를 가리킵니다.나는 아무것도 바꾸지 않았습니다.이 문제를 극복하려면 어디를 파헤쳐야 합니까?

생성된 링크는 다음과 같습니다.

CurrentControllerName/LogOff?길이=5

도움이 되었습니까?

해결책

당신은 전화 중입니다 잘못된 과부하 ActionLink 도우미의수행하는 작업은 다음과 같습니다.

@Html.ActionLink(
    "Logout",                         // linkText
    "LogOff",                         // actionName
    "Users",                          // routeValues
    new { style = "color:Blue;" }     // htmlAttributes
)

이것이 올바른 URL을 생성하지 않는 이유는 매우 분명합니다.당신은 지나가고 있습니다 "Users" 도우미가 예상하는 위치의 문자열 값입니다. routeValues 이는 익명 개체를 나타내야 합니다.

그만큼 올바른 과부하 이다:

@Html.ActionLink(
    "Logout",                         // linkText
    "LogOff",                         // actionName
    "Users",                          // controllerName
    null,                             // routeValues
    new { style = "color:Blue;" }     // htmlAttributes
)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top