【问题标题】:How to set a Custom url in ASP.net MVC?如何在 ASP.net MVC 中设置自定义 url?
【发布时间】:2015-08-10 07:03:43
【问题描述】:

我在 ASP.net MVC 中有一个 Web 应用程序,我必须设置一个自定义 url 而不是默认 url。 网址如:www.hostname.com//IEAdmin/OUser/ViewStep1/a0a765a1-21a5-47d2-8ac5-bcef10baf76c

我需要像 www.hostname.com/OUser/a0a765a1-21a5-47d2-8ac5-bcef10baf76c 这样的网址

有可能吗?

如果可以的话请告诉我

我必须在 Route.config 中设置哪些配置。

【问题讨论】:

  • 您的项目结构是什么,您使用的是哪个 MVC 版本? URL 是根据路由规则创建的,通常基于控制器名称。这意味着 - 您的项目结构很重要。什么是 IEAdmin、OUser 和 ViewStep1?哪个是控制器,哪个是动作? 根据您使用的 MVC 版本,您可以在应用程序启动代码或路由属性中添加规则
  • 你的控制器和动作名称是什么?

标签: asp.net-mvc


【解决方案1】:

您需要在您已经定义的路线之前添加几个额外的路线:

routes.MapRoute(
                name: "Test",
                url: "OUser/{id}",
                defaults: new { controller = "OUser", action = "ViewStep1", id = UrlParameter.Optional }
            );

PS:您需要在您所在地区注册的路线中定义这条路线

【讨论】:

    【解决方案2】:
    public static void RegisterRoutes(RouteCollection routes) {
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}");                
      routes.MapRoute("MyRoute", "OUser/{id}", new { controller = "MyController", action = "MyAction" }, new { id = UrlParameter.Optional });
    }
    

    【讨论】:

      【解决方案3】:

      公共类RouteConfig { 公共静态无效注册路由(RouteCollection 路由) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 路线.MapMvcAttributeRoutes(); } }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-07
        • 1970-01-01
        • 2015-07-15
        • 1970-01-01
        • 1970-01-01
        • 2013-11-14
        • 1970-01-01
        • 2013-02-10
        相关资源
        最近更新 更多