2011-01-11 15 views
1

今日私は自分のメニューを含むMasterpageを持っています...各aspxはそのmasterpageを使用します...毎回アイテムメニューをクリックすると、ロード...細かい...ASP .NETメニューネバゲーションの問題(ページあたり1つのAspx、フレームなど)

ワークスしかし、今I'dが画面上に常にメニューを維持するために(iFrameを?)好きなだけ内容を変更...それを達成するための最良の方法ですどのように

私はWebフォーム、ASP .NET 4.0を使用しています。

おかげ

答えて

1

心に春、主に二つの方法があります。

  • は、iframeの
  • 使用AJAXまたは動的ではなく、それぞれのポストバックよりも、内容を変更することが似たように、あなたのコンテンツを入れて時間。

どちらも欠点があります。もし私があなただったら、本当にあなたのウェブサイトのナビゲーションをこのような基本的な方法で変更する必要があるかどうかを真剣に検討します。マスターページの一部のコントロールでクリック間の状態を維持したい場合は、それを管理できる他の方法があります。

どちらの場合でも、ユーザーが提供しているコンテンツに直接URIを共有またはブックマークすることができるようにするには、そのコンテンツを作成する方法をプログラムする必要があります。検索エンジンがページのランク付けとインデックス付けを行う方法にも影響する可能性があります。

AJAXソリューションは柔軟性が増し、見栄えが良くなりますが、[戻る]ボタンで問題が発生します。 iframeのアイデアは、クライアント側で奇妙な振る舞い(ページの残りの部分とは独立したコンテンツのスクロールなど)につながる可能性があり、多くのブラウザのXSSセキュリティ機能により、フレーム境界を越えてJavaScriptを使用できなくなります。

全体として、ほとんどの状況でAJAXメソッドがiframeよりも優れていると思われますが、標準のクリックスルーページナビゲーションを使用できない場合は、その代わりに使用します。

関連する問題