2009-03-02 3 views
77

Я следующая задача: Например, у меня есть маршрут, как это:ASP.Net MVC RedirectToAction с якорем

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

ответ

141

Я думаю, вы должны использовать метод Redirect вместе с Url.RouteUrl, чтобы выполнить его.

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

Спасибо большое, что это помогает! – inikulin

+3

Огромное спасибо за ответ, мне это интересно некоторое время! – thebrokencube

+0

Хех .. пытался понять это ... забыл, что # thingy был якорем. Спасибо за сообщение! –

14

Другая альтернатива с Url.Action:

return Redirect(Url.Action("ShowThreadLastPostPage", "Thread", new { threadOid = threadOid }) + "last#" + postOid); 
Смежные вопросы