2016-09-22 74 views
1

我試圖從我的應用程序中的索引操作中省略「/索引」。我知道有一百萬個類似的帖子,但我的看法有些不同。MVC路由 - 隱藏索引

基本上,我想設置我的「家」控制器/行動時間/儀表板,但仍然有「索引」是每個其他控制器的默認行動。

當我的默認路線是「家」「索引」。其他網頁很好。 「索引」會隱藏。但後來我將它改爲「儀表板」。所以現在當我導航到任何控制器/索引。它需要「/索引」,否則我得到404.現在這是我的路線:

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

routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "Time", action = "Dashboard", id = UrlParameter.Optional } 
     ); 
+0

您需要將您的操作方法名稱從'index'更改爲'dashboard' .. – mmushtaq

+0

正確。我想如果所有的「索引」變成了「儀表板」,用戶永遠不會知道。儘管這對我來說似乎很俗氣。 但我明白你的意思。爲什麼我必須將儀表板命名爲「儀表板」?我應該能夠稱它爲「索引」,因爲他們永遠也看不到這一點。 問題基本上是,未經身份驗證的用戶可以轉到http/myapplication並查看MyController/Index。 我想驗證用戶去http/myapplication並看到時間/儀表板。我想我可以用重定向來解決這個問題 –

回答

0

我想這是一個愚蠢的問題。

「家」或默認操作的實際名稱並不重要,因爲沒有人會看到它。

所以我應該調用該「索引」或調用我所有的其他頁面「儀表板」。

如果我有一個特殊情況,那麼只需使用RedirectToAction,或者如果我真的想要隱藏url,甚至可以返回其他視圖。