【问题标题】:MVC - navigate to home on application startMVC - 在应用程序启动时导航到主页
【发布时间】:2024-07-11 14:15:02
【问题描述】:

我在路由表中添加了以下路由。

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

        routes.MapRoute(
            "Root",    
            "",        
            new { controller = "Home", action = "Index", id = "" } 
        );

        routes.MapRoute(
            "Home",                                                 
            "Index",                                         
            new { controller = "Home", action = "Index", id = "" }  
        );

我可以导航到主页(手动)。但应用程序不会在应用程序启动时导航。

有什么想法吗?谢谢。

【问题讨论】:

  • 我的应用启动:domain/vdir1/vdir2/home.aspx/index
  • 您在使用 Visual Studio 吗?如果是这样,请在开始调试时选择任何不是 .aspx 的文件。如果您在 home.aspx 打开时启动,它会尝试直接加载该页面,尽管 URL 错误。结果是“domain/vdir1/vdir2/home”成为您的第一个路由中的控制器,并添加了操作“Index”,因为您将其作为默认值提供。

标签: asp.net-mvc iis-6 routes


【解决方案1】:

这个代码块只要更改路由器名称就可以工作

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


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

请务必在申请开始页面上

【讨论】:

    最近更新 更多