0

パラメータを取り、そのジョブに関する詳細を含むビューを作成するJobDetailsPageControllerメソッドを持つEpiserver サイトがあります。URL は次のようになります。IndexjobIdhttps://hostname/<root-depending-on-site-tree>/jobs/?jobid=44

私が望むのは、フォームに URL を設定し.../jobs/manager-position-telco-44、基本的に役職のスラッグを作成し、ID を追加することです。過去に、Episerver 以外のサイトで標準の ASP.NET MVC 属性ルーティングを使用してこれを行ったことがありますが、EpiServer には、よくわからない独自のルーティングがあり、把握できません

また、スラッシュの後に非クエリ文字列を追加すると、一貫して 404 ページが表示されるので (驚くことではありません)、この動作を何らかの方法でカスタマイズする必要があります。EpiServers の標準ルーティングを使用して正しい「親」に到達する必要がありますが、後者の部分 (かなりの部分) は無視します。

EpiServer のページ ツリーの通常のページにそのような URL を作成することは可能ですか? 静的ルートを作成できることは理解していますが、このノードは他のページと同じように移動できるため、EpiServer を避けることはできません。

4

2 に答える 2

3

このブログ投稿を参照してください。あなたが探しているのは、部分ルーティングです。

于 2016-11-02T15:11:11.160 に答える
1

@johanは正しいです。部分ルーティングはこれを行う1つの方法です。ニーズに一致する場合と一致しない場合がある他の可能なソリューションを追加したかっただけです。

データをコンテンツとしてインポート

コンテンツを動的に提供する代わりに、特定のルート ページの下に個別のページとしてコンテンツ ツリーに直接あるソースから求人広告をインポートすることを検討できます。これにより、ページがキャッシュされ、複数の言語がサポートされ、編集者が EPiServer CMS でコンテンツを直接表示し、データを手動で調整できるなど、多くのメリットが得られます。

これは、データが頻繁に変更されず、編集者が新しい求人広告を手動で作成する方法も提供する必要がある場合に適したソリューションです。

独自のコンテンツ プロバイダを実装する

動的データを EPiServer に提供するもう 1 つの方法は、独自のカスタム コンテンツ プロバイダーを作成することです。ここでドキュメントを見つけることができます: http://world.episerver.com/documentation/Items/Developers-Guide/Episerver-CMS/7/Content-Providers/Content-Providers/

このソリューションにはより多くのコーディングが必要で、より複雑ですが、いくつかの利点もあります。必要に応じて、外部データ ソースからコンテンツを提供するだけでなく、EPiServer UI で値を直接変更してそのデータを更新することもできます。

于 2016-11-03T13:11:24.453 に答える