이상한 html.actionLink () Beta 1으로 업그레이드 한 후 동작 1
-
22-08-2019 - |
문제
오늘 최신 베타로 작업 해 온 대형 ASP.NET MVC 응용 프로그램을 업그레이드했으며 초기 문제가 끝난 후 대부분 다시 작동했습니다. 큰 문제는 다음과 같은 것들이 있다는 것입니다.
<%= Html.ActionLink("LOGIN", "Index", "Authorization", new { redirect=Request.Url })%>
그리고
<%= Html.ActionLink("Edit this page", "Edit", "Webpages", new { id = wp.Id })%>
링크를 다음과 같이 렌더링합니다.
http://localhost:60321/calendar/edit?Length=8
"길이"가 다르지만. 왜 이런 일이 일어나고 있는지 전혀 모른다. 마치 내 경로 테이블이 완전히 미쳤던 것처럼 보입니다. "Calendar/Edit/{id}"는 유효한 경로이지만 목록의 네 번째 다운입니다. 이것들은 전에 완벽하게 작동했습니다.
나는 내 재치가 여기에서 끝나고 무슨 일이 일어나고 있는지 알아 내려고 노력하고있다 ... 링크 텍스트는 완벽하게 렌더링한다. 그것은 단지 URL입니다 약간 내가 가지고있는 actionlink 호출 중 작동하지 않습니다. 그들 중 일부는 잘 작동합니다. 다음은 잘 작동하는 예입니다.
<%= Html.ActionLink("ADMIN", "Index", "ControlPanel") %>
모든 도움이 크게 감사드립니다!
해결책
ActionLink의 메소드 서명을 살펴보면 변경된 것처럼 보이며 다음과 일치합니다.
ActionLink( string linkText, string action,
object values, object htmlAttributes );
나는 작동하지 않는 끝에 null htmlattributes를 추가하여 이것을 사용하도록 노력할 것입니다.
ActionLink( string linkText, string action, string controller,
object values, object htmlAttributes );
이것은 다음과 같습니다.
<%= Html.ActionLink("LOGIN",
"Index",
"Authorization",
new { redirect=Request.Url },
null )%>
MVC 베타 1의 소스 코드는에 있습니다 http://www.codeplex.com/aspnet (SCC 서버는이 순간 12/18/2008 1 : 16pm CST에 다운 된 것으로 보입니다). 나는 Intellisense를 통해 서명을 찾았습니다.
제휴하지 않습니다 StackOverflow