2012-03-08 29 views
0

は、私が精神的パスがあります。Home/signUp.aspxMVCルーティング曖昧

Controller/HomeController.cs (related to Views/home/index.aspx)

を私のルーティングは、Global.asaxの中に設定されています。

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

    //settings - manage toolbars 
     routes.MapRoute("SettingsManageToolbars", "home/{action}/{id}", 
      new { controller = "Home", action = "Index", id = UrlParameter.Optional }); 

      routes.MapRoute(
       "Default", 
       // Route name 
       "toolbar/apps/{controller}/{action}/{id}", 
       // URL with parameters 
       new { controller = "Home", action = "Index", id = "" } 
       // Parameter defaults 
       ); 
     } 

私はhome\signup.aspx にサーフィンするとき、私はテキストを取得します「ディレクトリコンテンツ」のページ

このルーティングを修正するにはどうすればよいですか?

+1

あなたは、一般的に、もはやあなたのパスに「.aspxの」を使用していない - ルーティングは、コントローラとアクションへの呼び出しにURLを回すためにそこにあります。それはビューを呼び出します。これは.aspxまたは.ascxなどです。私はあなたがMVCの目的を完全に理解しているかどうかはわかりません。私はあなたの質問を本当に理解しているかもわかりません。 –

+0

routes.IgnoreRoute( "{resource} .aspx/{* pathInfo}")を削除します。 – Lloyd

+0

@Lloydなぜそれが役に立ちますか? –

答えて

0

をあなたの現在のコントローラを削除して、コンテキストメニューを介して他を追加することをお勧めしたい

、ルーティングは、Webサーバー上の既存の物理ファイルにマップ要求を処理しません。 {controller}/{action}/{id}のような定義されたパターンと一致しても、ルーティングはリクエストを処理しません。あなたはすべての要求を処理するためのルーティング、ファイルを指すようにも要求をしたい場合は

することは、あなたがtrueにRouteCollectionオブジェクトのRouteExistingFilesプロパティを設定することで、デフォルトの動作をオーバーライドすることができます。この値をtrueに設定すると、定義されたパターンに一致するすべての要求がルーティングによって処理されます。 MVCでは

http://msdn.microsoft.com/en-us/library/cc668201.aspx#scenarios_when_routing_is_not_applied

+0

それでは 'ディレクトリコンテンツ 'ページに移動するのはなぜですか? –

0

あなたのホームコントローラはなぜaspxファイルですか? HomeController.csにしてみてください!私は、デフォルトでは(右クリックして、追加)

+0

それはcsファイルです。私の悪い。 –