2

MVC 4 サイトで MvcSiteMapProvider を使用しようとしていますが、(たとえば) プロジェクト一覧ページと子プロジェクト詳細ページがあるサイトのセクションで問題が発生しています。

詳細ページにアクセスすると、リストから選択されたエンティティの ID が URL で指定されます。 ~/Project/2/Detail

サイト マップ プロバイダーに拡張機能を提供させたくないので、詳細ページを動的ノードにはしていません。基本的に、サイト マップ プロバイダーが URL パラメーターを無視projectID、常に詳細アクションにマップするようにしたいと考えています。

残念ながら、次の問題があります。

  • リスト ページに対する最初の要求でアプリが開始された場合、ユーザーはクリックして任意のプロジェクトに移動でき、SiteMap は詳細ページとうまく一致します。
  • アプリが詳細ページのリクエストで開始された場合、URL に最初のリクエストの ProjectID が含まれている場合にのみ、SiteMap は詳細ページと一致します。つまり、他のプロジェクトにアクセスすると、SiteMap の currentnode は null になります。

私はキャッシングを無効にしようとしたり、キャッシングを長期間有効にしたり、ソースコードを掘り下げたりしても成功しませんでした。一貫性のない動作は、それがバグであることを示唆しています。どんな助けでも大歓迎です。

4

1 に答える 1