【问题标题】:How to remove controller name from url in asp.net mvc?如何从 asp.net mvc 中的 url 中删除控制器名称?
【发布时间】:2017-08-16 13:58:43
【问题描述】:

我正在用 asp.net mvc 开发一个 web 项目。 这是我的 RouteConfig 中的代码

这是网址

localhost:55960/Home/myAction/80102/Aus-won-the-match-by-9-wickets

但我想让它像

localhost:55960/myAction/80102/Aus-won-the-match-by-9-wickets

 routes.MapRoute(
                    name: "Default",
                    url: "{controller}/{action}/{id}/{Title}",
                    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, Title = "" }
                );

我在这个平台上应用了许多可用的建议,但没有奏效。 有哪位能详细解释一下

【问题讨论】:

  • 您提出问题的动机是什么?您是要混淆控制器的代码级名称,还是要按照 Isaack Rasmussen 的回答简化 URL?

标签: asp.net-mvc-4 controller


【解决方案1】:

所以您希望您的控制器位于根目录,例如 domain.com/?id=1 或 domain.com/list?id=1 而不是 domain.com/controller/list?id=1 ?

您可以添加到您的配置中

config.MapHttpAttributeRoutes();

那么对于那个控制器,

[RoutePrefix("")]
public class HomeController : Controller

但是如果你有很多控制器,这可能会让人感到困惑。 并且最好将 routes.MapRoute() 配置为指向默认控制器

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-07
    • 2016-06-22
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 2016-01-25
    相关资源
    最近更新 更多