MVC 5确实存在控制器

时间:2014-11-27 09:20:17

标签: asp.net-mvc controller asp.net-mvc-5 exists

我正在编写一个MVC 5互联网应用程序,并希望知道是否可以检查controller exists是否只有name的{​​{1}} ?

我有一个controller函数,在发生错误时获取Application_Error的名称,我希望重定向到controller的索引方法。问题是用户可以输入不存在的controller名称,并重定向到此controller会导致无限循环。

提前致谢。

1 个答案:

答案 0 :(得分:0)

var tempRequestContext = new RequestContext(Request.RequestContext.HttpContext, 
                                            new RouteData());
tempRequestContext.RouteData.DataTokens["Area"] = "";
tempRequestContext.RouteData.DataTokens["Namespaces"] = "YourCompany.Controllers";
var controller = ControllerBuilder.Current.GetControllerFactory()
            .CreateController(tempRequestContext, "ControllerName");

if(controller != null)
{
   //TODO: Redirect
}