ASP.NET MVC在新窗口中打开文件

时间:2018-04-27 17:19:44

标签: asp.net-mvc asp.net-mvc-4 web

我创建了一个MVC Web应用程序。 当用户点击页面上的“查看”按钮时,我需要打开pdf文件。 存储pdf的文件路径是从数据库中读取的,它是c上的文件:如何在我的代码中打开它?

我有这段代码:

@Html.ActionLink("Read", "ViewOnline", new { controller = "Home", id = item.Id }, new { target = "_blank" }, new { @class = "btn btn-default" })

和我的控制器

public ActionResult ViewOnline(int id)
{
  string link = BookBUS.Instance.GetBooks().Find(x => x.BookID == id).FilePath;
  if (link != null)
  {
    TempData["Embed"] = VirtualPathUtility.ToAbsolute(link);
  }
}

1 个答案:

答案 0 :(得分:2)

您正在为HTML属性创建两个单独的对象:

new { target = "_blank" }, new { @class = "btn btn-default" }

我甚至不确定将调用的ActionLink方法的重载。但有一件事是肯定的,这两个单独的方法参数都不会在内部组合用于HTML属性。

为HTML属性创建一个对象:

new { target = "_blank", @class = "btn btn-default" }

然后应该使用the correct method overload