c# - Asp.net MVC 路由名称带有 '-'

标签 c# asp.net asp.net-mvc-4

当我创建一个名为“home-solutions”的 Controller 时,主类更改为 home_solutionsController 。 '-' 被替换为 '_'。

localhost/home-solutions

此外,当我调用 localhost/home-solutions 时,它显示“找不到资源。”

如何创建名称中带有“-”的 Controller 并调用它?

最佳答案

Controller 名称中不能包含“-”。

但是,如果您真正需要的是在 URL 中支持 home-solutions,您可以有一个映射到某个 Controller (使用其他名称)的自定义路由,例如:

        routes.MapRoute(
            "HomeSolutionsRoute",
            "home-solutions/{action}/{id}",
            new { controller = "HomeSolutions", action = "Index", id = UrlParameter.Optional }
        );

关于c# - Asp.net MVC 路由名称带有 '-',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29979883/

相关文章:

javascript - 使用与 MVC PartialViewResult 签名匹配的对象动态填充 Ajax 数据属性

c# - 如何在自定义保存操作 WFFM 中获取 Sitecore.Current.Site 对象?

c# - 从 C# 调用 C++/CLI(不带 out 参数)

c# - STM.NET 与 Clojure STM

asp.net - 来自 TextBox 的 ActionLink routeValue

c# - 在 QueryableFilterRepeater 中禁用过滤器控件

asp.net - 是否无法以声明方式将 CssClass 属性绑定(bind)到 GridView 中的 ItemStyle 上?

jquery - ASP.Net MVC 与 HTML + KnockoutJS + WebAPI

c# - CF Entity Framework 中使用映射的一对一关系

c# - 尝试将日期转换为使用 .ToShortTimeString 以仅在我的 Web Api 中获取时间 - 无法正常工作