2010-12-17 4 views
0

私はASP.NET MVCアプリケーションを持っています。シングルコントローラの場合のMVCアプリケーションのRoutingUrlの変更方法

私はHTTPとしてroutingUrlを持っている:// myappに/ホーム/製品/商品名/ DocTypename/COUNTRYNAME今私がHTTPとしてURLを作成しようとしています:// myappに/製品/商品名/ DocTypename/COUNTRYNAME

コントローラが1つしかないので、私はのホームのURLを削除したいと考えています。ここで

は、Global.asaxの中に私のコードです:ここでは

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

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

商品名/ DocTypename/COUNTRYNAMEは動的です。

私は上記のコードでは、コントローラを指定しないとき、私は以下のエラーを取得しています:

RouteDataが非空の文字列値を持つ「コントローラ」という名前の項目が含まれている必要があります。

あなたの時間を感謝します。

おかげ

答えて

1

routes.MapRoute( 
      "Default", // Route name 
      "{action}/{ProductName}/{DocTypename}/{CountryName}", // URL with parameters 
      new { controller = "Home", action = "Products", ProductName = UrlParameter.Optional, DocTypename = UrlParameter.Optional, CountryName = UrlParameter.Optional } // Parameter defaults 
     ); 
...このルートを試してみて、そのデフォルトルートの前に確認してください
関連する問題