UpdatePanel内のASP.Netページ(マスターページを使用している)をユーザーコントロールしています。このコントロールには、ボタンを含むいくつかの機能があります。コントロールは正常に機能しますが、クライアントがクリックしたときにファイルをクライアントに送信しようとしているリンクが1つあります。
コントロールは、表示、アクションに使用されるオブジェクトでインスタンス化され、オプションでクライアントに送信するためにシリアル化されます。このプロジェクトでも以前にファイルを送信しましたが、UserControlからではなく、UpdatePanelの背後でも送信していません。コードをステップスルーでき、コードが機能していることはわかっていても、ブラウザはリンクをクリックしていないかのように動作しています。
Response.Clear()
Response.AppendHeader("content-disposition", "attachment; filename=assignment.ics")
Response.ContentType = "text/xml"
'serialization code goes here
Response.Write(seralizedObject)
Response.Flush()
Response.End()
代わりに試しResponse.Close
ました。私も使ってみましResponse.OutputStream.Write
た。何も機能していないようです。私がやろうとしていることは可能ですか?または、ファイルを送信する別のページにリダイレクトする方法を考案する必要がありますか?
更新:受け取った回答を考慮して、実際にファイルを送信するために別のURL(ashxファイル)を指すように実装を変更しました。動作しますが、理想的ではありません。私はまだこれに関する他の提案を受け入れています。
が機能しない場合UpdatePanel
でも、オブジェクトを別のファイル(ashxファイルなど)に「内部的に」送信して、ファイルを送信したいと思います。現在、URLクエリ文字列を使用して、ashxファイル内のオブジェクトを再構築するのに十分な情報を送信しています。言うまでもなく、それはあまりきれいな解決策ではありません。