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