【问题标题】:How do I set up a universal controller in ASP.NET MVC?如何在 ASP.NET MVC 中设置通用控制器?
【发布时间】:2009-03-20 04:10:25
【问题描述】:

我知道这可能不是真正的 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”)适用于默认路径“/”,但如果我将其更改为任何文件,当我希望它处理 any 网址。我也尝试了“*”等,但没有奏效。

我找不到对 url 参数采用的格式的任何明确参考。

【问题讨论】:

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


    【解决方案1】:

    怎么样:

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

    来自this的问题

    【讨论】:

    • 做到了,虽然我不明白为什么。现在阅读那些 404 页...谢谢。 :)
    【解决方案2】:

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

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

    【讨论】:

    • 不走运,url 路由不能以斜杠开头。
    猜你喜欢
    • 2013-01-03
    • 1970-01-01
    • 2013-05-23
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-23
    相关资源
    最近更新 更多