2009-03-02 13 views
77

Mam następujący problem: Na przykład mam trasy tak:ASP.Net MVC RedirectToAction z kotwicy

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

Czy istnieje sposób, stosując metodę RedirectToAction nawigować do adresu URL jak poniżej:

forums/thread/{threadOid}/last#postOid

Odpowiedz

141

myślę, że należy użyć metody Redirect wraz z Url.RouteUrl, aby to osiągnąć.

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

Wielkie dzięki, że to pomaga! – inikulin

+3

Dziękuję bardzo za odpowiedź, zastanawiałem się przez chwilę! – thebrokencube

+0

Heh ... próbowałem to rozgryźć ... zapomniałem, że # rzeczy były kotwicą. Dzięki za post! –

14

Inną alternatywą z Url.Action:

return Redirect(Url.Action("ShowThreadLastPostPage", "Thread", new { threadOid = threadOid }) + "last#" + postOid);