Buduję aplikację mvc3, która używa SQLBaza danych serwera z tabelą o nazwie Pole. ta tabela ma wiele kolumn. jedną z nich jest File9Terme z wartością ciągu i przechowuje ścieżkę do pliku PDF, która przechowuje w folderze o nazwie BOOKS. W tym celu tworzę plik do przesłania. ale teraz chcę zbudować link do pobrania dla każdego pliku PDF. oto mój kod:
[HttpPost]
public FileResult Download(int id)
{
var document = db.Fields.First(f => f.FieldId == id);
var filename = document.File9Terme;
return File(filename, document.GetType().ToString());
}
a oto mój widok indeksu:
<td>
<%= Html.ActionLink("Download", "Download", "FieldController", new { id=item.FieldId })%>
</td>
gdzie jest problem? dzięki za pomoc.
Odpowiedzi:
0 dla odpowiedzi № 1Jeśli używasz linku, wyśle on żądanie GET. Więc usuń [HttpPost]
.
Po drugie, jeśli metoda działania pobierania znajduje się w FieldController, wystarczy podać „Field” w ActionLink, a nie „FieldController”
<td>
<%= Html.ActionLink("Download", "Download", "Field", new { id=item.FieldId })%>
</td>