0

Add/Edit Customer と Customer List(View) の 2 つのページを含む asp.net アプリケーションがあります。ajax タブ コンテナ/アコーディオンを使用して iframe の 2 ページ以上をホストするホスト ASP.NET アプリケーションがもう 1 つあります。以下に示すように、TAB1 には iframe 1 の Edit Customer Page が含まれ、TAB2 には View Customers ページが含まれます (一度にアクティブにできるのは 1 つだけです)。TAB2 から TAB1 に移動する必要がある場合 (たとえば、ユーザーが顧客リストの編集リンクをクリックした場合)、クエリ文字列でタブの名前を渡してホスト アプリケーションを更新する必要があります (この部分はホスト アプリによって処理され、利用可能な唯一の方法です) TAB を切り替える)。

クエリ文字列以外で TAB2 から TAB1 にデータを渡す最良の方法は何ですか? リロードせずにクエリ文字列をリセットするのは難しいため、クエリ文字列を追加してホスト アプリの URL を変更したくありません。私のアプリケーションは webfarm にあり、IP セッション アフィニティ ベースのロード バランサがあります。現在procセッションで使用していますが、時折失敗することは明らかです。問題外のアウトプロセス セッションを削除した場合、webfarm でこのシナリオを処理する実証済みの方法はありますか?

-------------------------------------------------- --------------

ASP.NET メイン アプリ コンテンツ

   VirDir-B

[親]
**________________________________________________________________**

TAB1 | TAB2

[iframe1] | [iframe2]    

{ カスタムを編集 | { 顧客を見る
       VirDir-A } | VirDir A }
                             | |

更新

さて、すべての VD が同じドメインにあるため、クエリ文字列パラメーターを使用して iframe1 のソースを直接設定することにより、javascript を使用してこの問題を解決しました。

疑似コード:

表示ページ:

var tabContainer=$(parent.document).find('#TABCONTAINERID').control;
var iframe=$(parent.document).find('#TABCONTAINERID').children('#iframe1');
iframe.src="editCust.aspx?id=123"
tabContainer.set_activeTabIndex(0);

しかし、親アプリケーションを制御できなかった場合(別のドメインにある可能性があります)、これがどのように処理されたのか知りたいです。

4

1 に答える 1

-1

私が考えることができる少なくとも2つの方法を使用できます。

  • データを Cookie に渡し、他のタブで読み取る
  • ajaxを使用してデータをASP.NETホストアプリに送信し、他のタブでダウンロードする
于 2013-08-09T18:54:26.860 に答える