如何在ASP.NET MVC中设置通用控制器?

时间:2009-03-20 04:10:25

标签: asp.net-mvc routing asp.net-mvc-routing maproute

我知道这可能不是MVC的真正精神,但我只想拥有一个总是被调用的全局控制器,无论 这个url是什么样的。例如,它可能是:

http://myserver.com/anything/at/all/here.fun?happy=yes&sad=no#yippie

...我希望将其传递给我的单个控制器。我打算以编程方式获取路径并自己处理 - 换句话说,我根本不想要任何路由。

我打开了global.asax文件并找到了路由注册的位置,但我不知道在MapRoute中为'url'参数添加了什么:

routes.MapRoute( "Global", "", new { controller = "Global", action = "Index" } );

这个(使用空白'url')可以正常使用'/'的默认路径,但如果我将其更改为任何内容,我会找到找不到的文件,当我希望它处理任何网址。我也试过“*”等,但这没用。

我找不到任何关于url参数所采用格式的确切引用。

2 个答案:

答案 0 :(得分:4)

怎么样:

routes.MapRoute("Global", "{*url}", new { controller = "Global", action = "Index" } );

来自this问题

答案 1 :(得分:0)

你还没有删除默认的吗?你需要保留那个。也许试试:

routes.MapRoute("Global", "/", new { controller = "Global", action = "Index" });