4

ページにある既存のデータを使用して、新しいウィンドウ (メニューなし、アドレス バーなし) を設定する必要があります。
この目的で Java スクリプト関数を使用しています。

function popup() {
        window.open("../AcknowledgeStatements/OutStandingAckInPdf", '', 'scrollbars=yes,width=740,height=600,resizable=yes');
    }


<input name="cmdButton" id="cmdPrint" type="button" class="button" value="Print"  onclick="popup()"/>

このページのモデルと TempData/ViewData をポップアップ ウィンドウに渡すにはどうすればよいですか? 誰かがこれについて私を助けることができますか?

4

1 に答える 1

2

メニューやアドレスバーは表示したくないので、オプションの仕様引数にmenubar = no、location=noも追加します。オプションの完全なリストはここにあります

さて、新しいウィンドウにデータを渡す限り、window.openにはこれを行う方法がありません。あなたがしなければならないことは、ポップアップに表示したいデータをGET引数としてサーバーに渡すことです。

function popup() {
    window.open("../AcknowledgeStatements/OutStandingAckInPdf?SomeParam=SomeValue&SecondParam=SomeValue", '', 'scrollbars=yes,width=740,height=600,resizable=yes');
}

次に、ビューでデータを渡します。ただし、GETパラメータは長さをWebアドレスの最大長に制限できるため、これには制限があります。これは1024文字だと思いますが、引用しないでください。

とにかく、さらに。ポップアップに表示するためにこのデータが必要なのはなぜですか。ポップアップウィンドウは、通常はユーザーを困らせるだけの過去の遺物です。最近のほとんどのブラウザはポップアップをブロックする傾向があり、ユーザーがポップアップの表示を明示的に許可する必要があります。元のHTMLにテンプレート(テンプレートを使用して実行できることの背後にある適切な説明)を事前に含めて、ダイアログボックスとして表示することで、サーバーへのラウンドトリップを節約できます。私見これはポップアップよりもはるかにフレンドリーなオプションです。

于 2011-01-11T22:14:32.270 に答える