2011-03-11 54 views
0

我有一个与Forms和MVC v2页面混合的环境。我想从一个Forms页面重定向到一个MVC页面。有没有办法在ASP.Net Forms页面中使用RedirectToAction或其他等价物?

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

我在寻找一个解决方案的框架,我想在这里问,如果有人已经知道这个答案。

+0

你尝试 的Response.Redirect(“MVC_Page_Url”) – 2011-03-11 18:50:07

+0

是这样的作品,但我想只能够说,控制器名称和动作名称,并为它会根据已配置的MVC路由生成我的URL。 – 7wp 2011-03-11 19:00:48

回答

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; 
相关问题