添加到网格列

时间:2015-05-29 00:14:57

标签: c# asp.net-mvc kendo-ui kendo-grid

我想在FileName列上有一个链接,因此用户可以单击并打开PDF文件(无需下载,只能打开查看)。这是我尝试过的,但我不知道如何将文件名传递给服务器功能。

columns.Bound(p => p.FileName)
       .ClientTemplate( "<a href='" + FileHelper.GetFullPath({how to pass the file name here}) + ">/#= FileName #</a>")

FileHelper.GetFullPath方法是一个服务器函数,用于生成文件的完整路径。完整路径应为:

  

http://servername/applicationname/filefolders/filename.pdf

1 个答案:

答案 0 :(得分:0)

您无法轻松地在客户端实施PDF下载。您应该使用其他操作方法流式传输PDF文件。

请改为尝试:

.ClientTemplate("<a href='" + Url.Action("GetPdf", "Home") + "?fileName=#= FileName #'>#=FileName#</a>");

public ActionResult GetPdf(string fileName)
{
    string path = FileHelper.GetFullPath(fileName);
    FileStream stream = new FileStream(path, FileMode.Open);
    return File(stream, "application/pdf", fileName + ".pdf");
}