Chciałbym zapewnić operację pobierania plików za pomocą połączenia jQuery AJAX z niektórych params pod MVCJak wdrożyć do pobrania pliku z AJAX i MVC
przykład
(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??
}
ja zwykle po prostu zrobić mój pobierz plik, taki jak:
<a h r e f="mycontroller/getfile/1"/>Download</a>
, jednak w powyższym przypadku data będzie dynamiczna.
Jeśli nie używam ajax, jaki byłby preferowany sposób przekazywania parametrów do kontrolera MVC za pomocą javascript?
przykład:
window.location = "mycontroller/GetFile/" + $("#fromDate").val();
zakładając data jest 25.12.2012 byłoby to produkować
mycontroller/GetFile/12/25/2012
MVC byłoby traktować to jako trzy params?
Odpowiedź na swoje pytanie znajduje się pod linkiem [this] [1]. [1]: http://stackoverflow.com/questions/5826649/returning-a-file-to-view-download-in-mvc/5830215#5830215 –
ile trzeba "hackable" URL , Nie jestem pewien, czy musisz to robić w ten sposób. Po prostu podaj datę jako parametr metody kontrolera, a następnie użyj sugerowanej implementacji FileResult. Może robisz to trudniej, niż powinno być? –