2012-03-15 20 views
1
routes.MapRoute(
       "top", // Route name 
       "{controller}/Casestudy/{action}" 
      ); 

誰もがこのルーティングが解決しない理由を知っています。なぜこのルートは解決しないのですか?

/オークション/ケーススタディ/ ABC/

コントローラオークションがあり、アクションABCがあり、ビューはありますか?

+2

もしあれば、他のルート定義も表示してください。また、コントローラクラスは 'Auction'だけでなく' AuctionController'と呼ばれていますか? –

+0

それはうまくいくはずです。ダーリンが言ったように、コントローラー "AuctionController"の名前を確認してください。 "Home/Helloworld/Index"は "{controller}/Helloworld/{action}"に一致する必要があります – Manas

+0

"解決しない"とはどういう意味ですか?アクションリンクで解決されません。ブラウザのロケーションバーにURLを入力するときに解決されませんか? – saintedlama

答えて

1

私の推測では、あなたは(あなたがMapRoute()にその呼び出しを変更していない提供)あなた"Default"ルート後に"top"ルートを置くことです。

あなたがそうでなければ、あなたの"Default"ルートは確かにあなたのテストURLにマッチし、それらがアップスイッチとあなたの"Default"ルートが来ている場合は404

routes.MapRoute(
       "top", // Route name 
       "{controller}/Casestudy/{action}" 
      ); 

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

をお届けします、あなたがルートをデフォルトする前に、あなたの"top"ルートが表示されていることを確認する必要がありますまず、"Default"ルートに一致するルートをcontroller = "Auction", action = "Casestudy", id = "ABC"に設定します。明らかに意図ではありません。

関連する問題