Используя заголовок Content-Disposition
к вложению при возврате файла для загрузки:
public ActionResult Download()
{
return File(@"c:\work\report.pdf", "application/pdf", "reoprt.pdf");
}
Или, если файл для загрузки генерируется динамически:
public ActionResult Download()
{
byte[] pdf = ... get the contents of the report
return File(pdf, "application/pdf", "reoprt.pdf");
}