앵커가있는 ASP.Net MVC RedirectToAction


84

다음과 같은 문제가 있습니다. 예를 들어 다음과 같은 경로가 있습니다.

routes.Add(new Route("forums/thread/{threadOid}/last", new MvcRouteHandler())
           Defaults = new RouteValueDictionary(
             new { controller = "Thread", action ="ShowThreadLastPostPage"}),
        Constraints = new RouteValueDictionary(new { threadOid = @"^\d+$" })
    }
);

RedirectToAction 메서드를 사용하여 다음과 같은 URL로 이동하는 방법이 있습니까?

forums/thread/{threadOid}/last#postOid


2
ASP.NET MVC Core의 경우 stackoverflow.com/q/55741977/11683을 참조하십시오 .
GSerg

답변:


153

나는 당신이 그것을 달성 하기 위해 Redirect방법과 함께 사용해야한다고 생각 Url.RouteUrl합니다.

return Redirect(Url.RouteUrl(new { controller = "Thread", action = "ShowThreadLastPostPage", threadOid = threadId }) + "#" + postOid);

이 답변과 비슷하지만 이것은 클라이언트에 렌더링 한 다음 서버에 대한 새로운 요청과 다른 렌더링을 유발하지 않습니까? 그렇다면 이것을 피할 수있는 다른 방법이 있습니까?
Jacques

1
이 솔루션은 테스트하기가 매우 어렵지만 유일한 솔루션 일 수 있습니다.
Josh Kodroff

20

다른 대안 Url.Action:

return Redirect(Url.Action("ShowThreadLastPostPage", "Thread", new { threadOid = threadOid }) + "last#" + postOid);
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.