C# MVC站点-确保默认入口视图始终正确

C# MVC站点-确保默认入口视图始终正确,c#,asp.net-mvc,asp.net-mvc-2,asp.net-mvc-routing,C#,Asp.net Mvc,Asp.net Mvc 2,Asp.net Mvc Routing,我有一个广告授权的MVC网站。这一切都很好。我将站点发布到Web服务器并直接调用该站点()。如果我有一段时间没有登录(我有一个30分钟TTL的授权cookie),系统会提示我登录,如果成功,我会重定向到homeController的索引视图。这是伟大的,正如预期的那样 如果我保持会话打开(浏览器打开)并从站点浏览,如果我随后浏览回,我不会受到挑战,因为我最近已通过身份验证,但默认页面来自不同的控制器,而不是主页视图 我怎样才能阻止这种事情发生?它不能是会话设置,因为这不是一个新会话,并且路由看起

我有一个广告授权的MVC网站。这一切都很好。我将站点发布到Web服务器并直接调用该站点()。如果我有一段时间没有登录(我有一个30分钟TTL的授权cookie),系统会提示我登录,如果成功,我会重定向到homeController的索引视图。这是伟大的,正如预期的那样

如果我保持会话打开(浏览器打开)并从站点浏览,如果我随后浏览回,我不会受到挑战,因为我最近已通过身份验证,但默认页面来自不同的控制器,而不是主页视图

我怎样才能阻止这种事情发生?它不能是会话设置,因为这不是一个新会话,并且路由看起来是正确的-无论如何,此时不会调用它们

请MVC大师指点

注册路由块如下所示:

    public static void RegisterRoutes(RouteCollection routes)
    {
        // standard MVC route regsitration

        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "PaginatedTimesheets",                                                 // Route name
            "{controller}/{action}/{page}/{view}",                                 // URL with parameters
            new { controller = "Timesheets", action = "Index", page=0, view=0 }    // Parameter defaults
        );

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

您的默认路线是什么样的?它应该指向路由中指定的默认控制器/操作。

用重定向修复了它

我确信它是正确的-我已将RegisterRoutes方法附加到原始注释中。它要去哪里/家庭或/时间表?您希望它去哪里?必须将default.aspx放到根目录下,并重定向到MVC应用程序。可以在本地服务器上工作,但不能在IIS服务器上工作-不能在IIS7/.NET4中查找问题。