0
私のウェブサイトには、ユーザーがリンクをクリックしてナビゲートできる外部プロバイダからコンテンツブロックをロードするサービスがあります。MVCでサブルートを設定するには
私のルーティングでは、要求パスで私のホームコントローラを呼び出すことで、これらを処理する必要があります。
例えば、彼らがナビゲートするために使用するURLは
www../shop/hire/category/subcategory/subsubcategory/....
になり、彼らは特定の製品後にしている場合:その中で
www../shop/hire/category/subcategory/subsubcategory...?product=ABC
定数、と/shop/hire/
だろうあなたが現在いる場所に基づいて変化するカテゴリ、そして実際に何があったのかを見つけた場合の製品。
問題は、ホームアプリケーションを使用するのではなく、アプリケーション内でそのようなパスのリンクをクリックしてリクエストを解析し、適切なURLでサービスを呼び出すだけです
routes.MapRoute(
name: "Category",
url: "shop/hire/{categories}/{product}",
defaults: new { controller = "Home", action = "Index", categories = UrlParameter.Optional, product = UrlParameter.Optional }
);
をが、これはどんな効果があったようには見えない:404
私はルートを追加しようとしました。
を取得するために、値を解析することができますたとえば、パラメータで必要なすべてのカテゴリを渡す必要があります。 –
問題は私のアーキテクチャではないということです。私はそれを使って適切な製品を見つける外部のプロバイダーに電話しています。 – Wizard
[複数レベルのMVCカスタムルーティング]の可能な複製(http://stackoverflow.com/questions/31934144/multiple-levels-in-mvc-custom-routing) – NightOwl888