У меня есть несколько ссылок на pdf файлы, хранящиеся на сервере на моей статической странице. Я мог бы нажать на каждую ссылку, которая откроет PDF-файл в браузере. Я ссылался на эту ссылку . Но это не работает, как я хотел.
Вот мой метод действия:
public ActionResult GetFileFromServer(string filename)
{
string folderpath = StrGlobal.file_folder.ToString();
string filepath = Path.Combine(folderpath, filename);
filepath = Path.GetfullPath(filepath);
return File(filepath, "application/pdf");
}
Мой взгляд:
<p>
@Html.ActionLink(
linkText: "ABC Document",
actionName:"GetFileFromServer",
controllerName:"StaticPage",
routeValues:new {filename = "ABC.pdf"},
htmlAttributes:null
)
</p>
Если я заменю и хардкорное имя файла в этой строке:
string filepath = Path.Combine(folderpath, "ABC.pdf");
Откроется этот конкретный файл PDF. В противном случае я получаю сообщение об ошибке
Value cannot be null. Parameter name: path2
Похоже, значение не передается из представления в контроллер. Как мне исправить эту проблему?