据我所知,这不是很多,没有办法设置默认页面,比如Default.aspx用于MVC 4应用程序,对吧?我正在使用Web Forms开发MVC应用程序,这允许他们创建一个默认页面。换句话说,他们在根文件夹中有一个Default.aspx页面,当用户输入http://www.example.com时,它将显示该页面。在允许用户继续使用任何应用之前,我们需要显示一些标准内容。那么我会创建一个Default.aspx或Default.cshtml文件并将其用作初始显示页面,然后在用户同意这些条款后调用另一个控制器和操作吗?最好的方法是什么?
答案 0 :(得分:1)
在MVC中,您可以将RouteConfig.cs中的默认路由设置为
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
当用户首次使用www.example.com访问您的网页时,系统会将用户重定向到Home/Index
,您可以在其中放置条款和条件。但是,这可能并非总是如此,因为用户可以导航到任何URL,并且您需要一种机制,无论用户是否接受了条款和条件。我建议把cookie或会话变量说成用户接受了这些条款。检查cookie或会话是否存在。否则,请重定向到您的条款和条件页面。在条款和条件页面上,不要检查任何cookie。您可以通过多种方式检查该cookie:
1)使用ActionFilterAtribute
并覆盖OnActionExecuting
2)使用HttpModule
3)覆盖Application_BeginRequest()
Global.asax.cs