4

IFRAME を使用して、MVC3 を使用するすべてのページのラッパー ページ内にページ全体をロードする代わりの方法を探しています。ログインと認証を一元化するためのラッパー ページが必要で、WPF 内でモジュールをロードするようなラッパーのセクション内で他のページを動的にロードしたいと考えています。これを実現するために以前は IFRAME を使用していましたが、ナビゲーションをそのまま維持したいと考えています (つまり、戻るボタンは、ラッパーの前のページではなく、以前にロードされた「プラグイン」ページに移動します)。部分ビューでこれを達成できるかもしれないと思っていましたが、完全に異なるプロジェクト (または既にホストされているサイト) から部分ビューをロードする方法を見つけることができませんでした。何か案は?

4

2 に答える 2

4

ajax 呼び出しを行って外部サイトからコンテンツを取得し、それらを親ページの html の必要な場所に配置できます。これは、ページのオンロードを行うことができます。

jquery を使用すると、次のようになります。

$.ajax({
        url: 'http://www.externalsite.com',
        cache: false,
        dataType: "html",
        success: function (data) {
           $("#divInsideParentPage").html(data);
        }
    });
于 2012-04-26T19:27:02.910 に答える
0

このページの「レイアウト/マスターページのシナリオ - 基本」という見出しの下を見てください。

つまり、マスター テンプレートを作成し、コンテンツが表示される場所のプレースホルダーを挿入します...

正確にどのように動作するかは、使用しているビュー エンジン (Razor など) によって異なります。

編集:

WRT 履歴/戻るボタン、 history.jsを使用して目的を達成できる場合があります。それを広く使用しているこのサイトを参照してください(AJAXを使用してコンテンツをロードします - ベースページは最初のロード後に変更されることはありません).

于 2012-04-26T15:17:55.327 に答える