asp.net-mvc - 没有 Controller 和操作名称的 ASP .Net MVC 路由

标签 asp.net-mvc routes

简单的问题。我想要这样的东西:

http://www.mywebsite.com/microsoft 或 http://www.mywebsite.com/apple 所以微软和苹果应该像 id 但我使用它就像默认的 Controller

这是默认路由

routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "index", id = UrlParameter.Optional } // Parameter defaults
        );

这会产生类似 http://www.mywebsite.com/home/aboutus 或 http://www.mywebsite.com/products/detail/10

我添加了另一条路线

routes.MapRoute(
            "Partner", // Route name
            "{id}", // URL with parameters
            new { controller = "Home", action = "Partners"}, // Parameter defaults
            new { id = @"\d+" }
        );

但这有一个限制,只允许数字 ID。

如何实现我想要的。

谢谢

最佳答案

如果表达式只能包含字母和数字,您可以修改约束:

routes.MapRoute(
    "Partner", // Route name
    "{id}", // URL with parameters
    new { controller = "Home", action = "Partners"}, // Parameter defaults
    new { id = @"^[a-zA-Z0-9]+$" }
);

关于asp.net-mvc - 没有 Controller 和操作名称的 ASP .Net MVC 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6423036/

相关文章:

ruby-on-rails - Rails 禁用编辑更新删除路线

asp.net-mvc - ASP.NET MVC 中的 Telerik 控件

mysql - Node js 中出现奇怪的问题(交换请求)

java - 判断三个点是否在同一条街道上

jquery - 如何手动关闭 Kendoui 弹出窗口

ruby-on-rails - 在 Rails 3 中映射 from_plugin 路由

javascript - 如何让 Aurelia 准确匹配路线?

javascript - 访问 $.each() 中的项目

c# - 'ZipArchiveEntry' 不包含 'ExtractToFile' 的定义

asp.net - Web Deploy删除IIS网站自定义配置