2015-06-01 151 views
0

據我所知,這不是很多,沒有辦法設置默認頁面,如MVC 4應用程序的Default.aspx,對嗎?我正在開發MVC應用程序,並與仍在使用Web窗體的開發人員一起工作,這使得他們可以創建默認頁面。換句話說,他們的根文件夾中有一個Default.aspx頁面,當用戶輸入http://www.example.com時,它將顯示該頁面。我們有要求在允許用戶繼續使用任何應用程序之前顯示一些標準內容。那麼我會創建一個Default.aspx或Default.cshtml文件並將其用作初始顯示頁面,然後在用戶同意這些術語後調用另一個控制器和操作?什麼是最好的方法來做到這一點?MVC應用程序的默認頁面

回答

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:覆蓋Application_BeginRequest()

1)使用ActionFilterAtribute和壓倒一切的OnActionExecuting

2)使用HttpModule

3)內Global.asax.cs

+0

@ Dean.DePue如果我是你,我不會僅僅根據一些價值來展示和隱藏內容。但是,情況不同。如果你希望用戶只是在啓動時顯示消息,你的情況可能會好起來。如果您確實想強制用戶接受條款和條件,並且只允許他們查看其餘內容並與網站進行互動,我會建議採取不同的方法。 –