我有以下代码来下载文件。
<a href="@Url.Action("downloadAnnounceFile","Home")?file=@obj.AnnounceFileID" target="_blank">Download</a>
在IE中,它将打开一个新页面并从那里下载,对于Firefox / Chrome,它会提示用户输入文件类型。 obj.AnnounceFileID是数据库中的文件本身。它可能并不总是类型pdf。 obj.LinkFileName具有该文件的名称,但我不确定如何重新构造此行以使其正常工作。我尝试了以下但它没有用。任何帮助表示赞赏。
<a href="@Url.Action("downloadAnnounceFile","Home", new { filename = @obj.LinkFileName, file=@obj.AnnounceFileID })" target="_blank">Download</a>
答案 0 :(得分:1)
在第二次尝试中删除@
符号。您在帮助器中,不需要@
符号来解析模型值。
<a href="@Url.Action("downloadAnnounceFile","Home",
new { filename = obj.LinkFileName, file=obj.AnnounceFileID })" target="_blank">Download</a>
您尝试在第一次尝试时做太多工作(大部分手工构建URL)。让MVC框架尽可能使用@Url.Action()
帮助程序和RouteValues
重载生成链接。