3

現在、カスタムURL機能を介してアクセスするページを作成しています。ページがサーバーにポストバックするたびに、window.dialogArgumentsプロパティが失われるため、アクセスできなくなりgetFields()ますcontainer.deleteField()

これを回避する方法はありますか?

私の最初の考えは、呼び出しを介してサーバーとのすべての通信を行うことXMLHttpRequestでした。これにより、ポストバックの問題が解消されますが、問題は、コード(Tridion 5.3から)がサーバー側のロジックに大きく依存していることです。それを変更。(5.3window.returnValueではなくを使用しているようですdialogArguments

私の2番目の考えは、で何らかの値を使用できるかもしれないということwindow.openerでしたが、必要なプロパティ/関数を見つけることができません。

4

2 に答える 2

4

別の iframe でポストバックを行うことができます。これにより、メイン ウィンドウが生きたままになりwindow.dialogArguments、コードからアクセスできるようになります。

私が知っていることから、window.openerポストバックを生き残る必要があります。だから私はあなたがそこで何を探しているのか分かりません。

于 2012-11-22T18:47:40.143 に答える
1

ASP.NET 3.5 以降を使用している場合は、コントロールをUpdatePanelに単純にラップすることもできます。

代わりに、非同期のクライアント側リクエストで自動的にポストバックを行うため、ウィンドウはリロードされません。

于 2012-11-26T09:32:49.157 に答える