ASP.Net Webformsページは大規模なフォームにラップされており、ネストされたフォームは機能しないため、ページ上の他のフォームが制限されます。Webフォームプロジェクトでは、ページごとに1つのフォームしか存在できず、サーバーとクライアントのすべての対話でそれが必要になるため、これは意図的なものです。カスタムフォームを作成するために、このようにモーダルダイアログを作成しました。サーバーからの適切なエラーメッセージを許可するために、私のモーダルダイアログはそれ自体にポストバックする必要があります。これを行うために、私はこのトリックに従って、ダイアログが表示されているウィンドウの名前としてフォームターゲットを使用しました。
ファイルをダウンロードするためのボタンを追加しようとすると、問題が発生します。このダイアログからファイルをダウンロードしようとしても、何も起こりません。問題のファイルに応答をリダイレクトすることはできますが、ボタンをクリックするとダイアログボックスがそこに表示され、何も起こらないため、ファイルを応答に書き込むことができません。