1

我在控制器中有一个动作

public ActionResult Download()    
{ 
    return File(FileStream, "application/octet-stream", fileName); 
}

如果我想使用FilePathresult作为:

public FilePathResult Download()
{ 
    return File(FileStream, "application/octet-stream", fileName);
}

我可以像这样调用Download()按钮的点击吗

@Html.ActionLink("FileDownload", "Download", new { file = item.FileName, GuID = item.DocumentGuID }) /text).Width(10); 

在第二种情况下,实施Download()也是正确的,即

public FilePathResult Download()

?

4

1 回答 1

2

ActionLink定义了要传递的参数,因此您需要将这些参数添加到您的操作中

@Html.ActionLink("FileDownload", "Download", new { file = item.FileName, GuID = item.DocumentGuID }) /text).Width(10); 

我不确定那里/text.Width(10);在做什么,但是正确形成ActionLink的参数还必须将 Html 属性定义为最后一个参数,只需传入null.

这是一个正确形成的示例ActionLink

@Html.ActionLink("ActionName", "ControllerName", new { id = 10}, null)

您的链接中有一个file和一个GuID参数,因此将它们作为参数添加到您的操作中。

public FilePathResult Download(string file, Guid GuID)
{ 
    return File(FileStream, "application/octet-stream", fileName);
}

试一试,让我们知道会发生什么:-)

快乐编码!

于 2012-06-09T19:56:29.267 回答