Comment mettre en œuvre de téléchargement de fichier avec l'AJAX et MVC

J'aimerais faire une opération de téléchargement de fichier en utilisant l'AJAX de jQuery appel avec certains paramètres sous MVC

exemple

(javascript)
function DoDownload(startDate) {

  $.ajax({ 
     url:"controller/GetFile/",
     data: {startDate:startDate}
     ...
  });

}

C# Controller Code

 public void GetFile(string startDate) {

  var results = doQuearyWith(startDate);

  //Create file based on results

  ....
  //HOw do I tell the server to make this a file download??
 }

En général, je voudrais juste faire mon dossier de téléchargement d'un lien tel que:

<a h r e f="mycontroller/getfile/1"/>Download</a>

mais dans le cas ci-dessus, la date sera dynamique.

Si je ne l'utiliser ajax, ce serait un moyen privilégié pour transmettre les paramètres à la MVC du contrôleur à l'aide de javascript?

exemple:

window.location  = "mycontroller/GetFile/" + $("#fromDate").val();

en supposant que la date est 12-25-2012
serait-ce de produire

mycontroller/GetFile/12/25/2012

serait MVC traiter cela comme trois params?

La réponse à votre question peut être trouvée dans [ce][1] lien. [1]: stackoverflow.com/questions/5826649/...
Sauf si vous avez besoin d'un "hackable" de l'URL, je ne suis pas sûr que vous devez le faire de cette façon. Il suffit de passer la date en paramètre à une méthode de contrôleur, puis utilisez les suggestions FileResult mise en œuvre. Vous pouvez peut-être rendre plus difficile qu'il doit être?

OriginalL'auteur Arcadian | 2012-12-30