我有一个包含Forms和MVC v2页面的混合环境。我想从Forms页面重定向到MVC页面。
通常我在控制器内使用RedirectToAction。但是,当我在Asp.Net Forms类型页面中时,我无法真正使用它。
我正在挖掘框架以找到解决方案,我想在这里问以防有人已经知道答案。
答案 0 :(得分:1)
我自己找到了答案。以下是我解决这个问题的方法:
var controllerName = "NameOfMyController";
var actionName = "NameOfMyAction";
//Lets resolve the URL for the controller/action based on the existing routes
var routes = RouteTable.Routes;
var virtualPathData = routes.GetVirtualPath(
null,
new RouteValueDictionary {
{"Controller", controllerName},
{"Action", actionName}
});
/* resolvedUrl should now contain the full URL to
the controller/action defined at the beginging */
var resolvedUrl = virtualPathData == null ? "" : virtualPathData.VirtualPath;