0

在我的asp.net mvc的項目中的所有鏈接顯示的索引行動 例如:爲什麼我的網址顯示所有索引操作?

本地主機:1559 /首頁/指數
本地主機:1559 /約-US /指數
本地主機:1559 /非接觸我們/索引
本地主機:1559 /組合/索引

爲什麼不隱藏索引操作?

我想表明這樣的:

本地主機:1559 /主頁
本地主機:1559 /約 - 我們
本地主機:1559 /接觸我們
本地主機:1559 /組合

這是我的全局文件代碼:

public static void RegisterRoutes(RouteCollection routes) 
     { 
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

      routes.Add(
      new Route("{controller}/{action}/{Q1}/{Q2}", 
       new RouteValueDictionary(
        new { controller = "Home", action = "Index", Q1 = UrlParameter.Optional, Q2 = UrlParameter.Optional }), 
        new HyphenatedRouteHandler()) 
      ); 
      routes.Add(
      new Route("{controller}/{action}/{Q1}", 
       new RouteValueDictionary(
        new { controller = "Home", action = "Index", Q1 = UrlParameter.Optional }), 
        new HyphenatedRouteHandler()) 
      ); 
      routes.Add(
      new Route("{controller}/{action}", 
       new RouteValueDictionary(
        new { controller = "Home", action = "Index"}), 
        new HyphenatedRouteHandler()) 
      ); 
     } 

誰能幫幫我?

+0

當您嘗試導航到「localhost:1559/Home」時發生了什麼? 如果工作正常,那麼你只需要從鏈接中刪除「/ index」部分,並且一切都應該正常工作。 –

+0

它進入本地主機:1559 /主頁/索引 –

+0

嗨波斯人,你解決了這個問題? – Meryovi

回答

0

而不是

new Route("{controller}/{action}/{Q1}", 

使用

new Route("{controller}/{Q1}", 

爲每一個(你必須調整以適應參數)。

發生這種情況的原因是因爲您的操作被稱爲「索引」。因此,您的路由正在填充佔位符{action},其中的操作名稱是「index」。

相關問題