有没有办法在ASP.Net Forms页面中使用RedirectToAction或类似的东西?

时间:2011-03-11 18:35:45

标签: model-view-controller asp.net-mvc-2 webforms

我有一个包含Forms和MVC v2页面的混合环境。我想从Forms页面重定向到MVC页面。

通常我在控制器内使用RedirectToAction。但是,当我在Asp.Net Forms类型页面中时,我无法真正使用它。

我正在挖掘框架以找到解决方案,我想在这里问以防有人已经知道答案。

1 个答案:

答案 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;