ASP.NET MVC:许多路由 - >始终只有一个控制器

mim*_*mic 4 asp.net-mvc routing

我有一个非常简单的问题.我的网站,基于ASP.NET MVC,可以有很多网址,但所有网址都应该带到一个控制器.怎么做?

我想我需要在Global.asax中使用一些魔法,但我不知道如何创建将任何URL重定向到特定控制器的路由.

例如,我有url/about,/ product/id等,但所有这些都应该真正带到内容/节目,其中url的部分将被识别,并决定显示哪些信息.当你无法提前定义路线时,它就像CMS一样.这些信息足够吗?

谢谢

blo*_*art 21

这听起来像一个可怕的想法,但是,如果你必须,那么;

routes.MapRoute(
    "ReallyBadIdea",
    "{*url}",
    new { controller = "MyFatController", action = "MySingleAction" }
    );
Run Code Online (Sandbox Code Playgroud)

这会将所有内容路由到单个控制器中的单个操作.还有{*path}和其他URL模式,如果你想要更多的灵活性.

  • 为什么不好主意?它有合法用法.如果您的应用程序在浏览器中进行URL重写并相应地加载内容,那么无论您想要加载基页如何.Ajax将在客户端稍后处理休息. (11认同)