У меня возникла проблема с передачей имени нажатого ActionLink в контроллер и его использованием. При клике появляется ошибка 404. Это часть моего представления под названием Scan.cshtml.
<tbody >
@foreach (string item in ViewBag.files)
{
<tr>
<td class=" row col-md-12 "> @Html.ActionLink(item, "Download", "Scan", new { id = item }, new { style = "color: #424242" })</td>
</tr>
}
</tbody>
Это часть ScanController, где я пытаюсь работать с отправленными данными. Я думаю, что это вообще не доходит до логики контроллера и раньше выдает ошибку.
public ActionResult Download(string id)
{
// controller logic for downloading file
var ftpko = new MyProject.Helpers.ftp(@path, name, passwd);
ftpko.download(id, "~/Dotazniky/dotaznik.jpg");
return View();
}
Допустим, item = "car.jpg", ошибка говорит о запрошенном пути - http://localhost:53593/Scan/Download/car.jpg не найден.
Это файл RouteConfig:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}