Scott Guthrie points to Rick Strahl's blog about how to automaticaly open a Save As dialog on a link click. Very useful to download attachments.
I'd just like to add that IE and FireFox have different handling with non ASCII characters that we can use in my french country for instance... IE doesn't like those chars, so you have to URLEncode it. But when URLEncoded, FireFox doesn't catch it, and keeps '+' chars instead of spaces...
The solution is simple.. you just have to check the client browser :
public static void PrepareAttachmentReponse(HttpContext context, string filename)
{
if (context.Request.Browser.Browser == "IE")
filename = context.Server.UrlPathEncode(filename);
// send response
context.Response.AppendHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
}
And that's it.