2

クリックするとプロシージャを呼び出すだけでなく、ポップアップで開くボタンを作成しようとしています。私が行ったすべての検索は、それをクライアントクリックに置くように指示するだけなので、それを行う方法を見つけることができません:

<asp:Button ID="cmbGen" runat="server" Width="240px" Text="Générer le rapport"          OnClick="cmbGen_Click"></asp:Button> 

onclickはPDFを開きますが、Ieではうまく機能しないため、これを解決するには、PDFをポップアップで開きます。

私に何ができるかわからない..誰かがアイデアを思いついた?

編集

コードはかなり大きいですが、基本的に、チェックされているチェックボックスに応じて、PDFファイルが作成されて表示されます。これはかなりうまく機能しますが、現在のページで開きます。ポップアップで作成したいと思います。

4

2 に答える 2

4

AButtonは常に現在のウィンドウでサーバーにポストバックを送信するため、新しいウィンドウをサーバーに直接結び付けることはできません。そのためにはJavaScriptを記述し、ポップアップウィンドウを開く必要があります。

これはさまざまな方法で実行できます。イベントハンドラーをボタンに接続して、クリックするとすぐに新しいウィンドウが開き、そのウィンドウがPDFを返すサーバーコードを指すようにすることができます。または、通常のポストバックを実行して、新しいウィンドウをポップアップするJavaScriptを返すこともできます。ただし、いずれにしても、フォームボタンからポップアップを取得する唯一の方法はJavaScriptです。

ボタンの代わりにリンクを作成するというLiamの提案は、おそらく最も簡単な方法です。必要に応じて、そのリンクに画像をスローして、ボタンのように見せることができます。

編集 他の回答に対するあなたのコメントに基づいて、あなたの最も簡単な賭けは、ClientScript.RegisterStartupScript最近マイクロソフトが推奨しているものを使用して、ボタンクリックメソッドでJavaScriptを返すことです。最初に必要なロジックを実行してから、セッションまたはクエリ文字列パラメーターを使用して新しいハンドラーに取り込み、クライアントにそのハンドラーを指す新しいウィンドウをポップアップさせることができます。

于 2013-03-26T14:29:50.877 に答える
3

あなたのC#が見えないので、何が欲しいのか100%確実ではありませんが、なぜaを使用するのですかasp:Button

<a href="myPDF.pdf" target="_blank">Générer le rapport</a>
于 2013-03-26T14:22:42.160 に答える