web-dev-qa-db-ja.com

アンカー付き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

80
inikulin

それを実現するには、RedirectメソッドをUrl.RouteUrlとともに使用する必要があると思います。

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

Url.Actionを使用した別の方法:

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