Мы делали редирект на форму в Page_load которой написана передача файла
X++:
protected void Page_Load(object sender, EventArgs e)
{
string sFileName = this.FormParameter("SendFileName");
try
{
FileInfo fileInfo = new FileInfo(sFileName);
Response.Clear();
//Response.ClearContent();
//Response.ClearHeaders();
Response.AddHeader("Pragma", "public");
Response.AddHeader("Cache-Control", "public");
Response.AddHeader("Content-Cache", "max-age=0");
Response.AddHeader("Content-Disposition", " attachment; filename = " + fileInfo.Name);
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Length", fileInfo.Length.ToString());
Response.TransmitFile(sFileName);
Response.Flush();
}
catch
{
this.ShowInfoMSG("Ошибка отправки файла");
}
finally
{
if (File.Exists(sFileName))
File.Delete(sFileName);
Response.End();
}
}
"мягкий" редирект описан в
http://blogs.msdn.com/b/solutions/ar...ad-a-file.aspx