从my MVC Controller的URL在新选项卡中打开PDF[已编辑]

从my MVC Controller的URL在新选项卡中打开PDF[已编辑],pdf,asp.net-mvc-5,binarywriter,Pdf,Asp.net Mvc 5,Binarywriter,在我看来,我生成了一个带有用户名、账号和日期的链接,并将其传递给控制器: @Html.ActionLink(AccountGroup.AcctNum + " " + AccountGroup.DocDate.ToShortDateString(), "GetIndividualStatement", "Statements", new { statementDate = @AccountGroup.DocDate.ToShortDateString(), Userid = @ViewBa

在我看来,我生成了一个带有用户名、账号和日期的链接,并将其传递给控制器:

   @Html.ActionLink(AccountGroup.AcctNum + " " + AccountGroup.DocDate.ToShortDateString(), "GetIndividualStatement", "Statements",  new { statementDate = @AccountGroup.DocDate.ToShortDateString(), Userid = @ViewBag.UserID, acctNumber = AccountGroup.AcctNum.ToString() }, new { @class = "form-control, col-sm-6,  medwidth" , target = "_blank" })
我还尝试使用AJAX链接:

 @Ajax.ActionLink(AccountGroup.AcctNum + " " + AccountGroup.DocDate.ToShortDateString(), "GetIndividualStatement", "Statements", new { statementDate = @AccountGroup.DocDate.ToShortDateString(), Userid = @ViewBag.UserID, acctNumber = AccountGroup.AcctNum.ToString() }, new AjaxOptions { HttpMethod ="POST", UpdateTargetId = "detailsDiv" }, new { @class = "form-control, col-sm-6,  medwidth" })
然后,我的控制器获取这些信息,为PDF生成一个加密的URL(我必须在控制器中当场创建这个,所以我不能在视图中有一个链接供用户单击(这太容易了!)。我需要打开返回PDF的URL。我需要获取该URL并在新选项卡中打开该PDF(同时保持原始选项卡打开)。这是我的最新尝试,在同一窗口中打开,但如何在新选项卡中打开

    WebClient client = new WebClient();
    Byte[] buffer = client.DownloadData(path);
    if (buffer != null)
    {
        Response.ContentType = "application/pdf";
        Response.AddHeader("content-length", buffer.Length.ToString());
        Response.BinaryWrite(buffer);
    }

感谢大家!

您在最终生成的HTML中所寻找的内容如下所示,其中链接的目标属性设置为“\u blank”

<a href="the_pdf_link/" target="_blank">Open PDF</a> 

如果你做对了,你就会得到你想要的行为


如果问题出现在服务器端代码中,那么在解决问题时,请编辑问题以包含修复,以便将来查看的任何人都可以看到问题的两面。

使用目标属性进行链接,例如,您可以在代码中显示该问题吗?我不确定该放在哪里(请记住,它必须进入控制器代码?上面的代码在同一页中打开…我需要弄清楚如何在新选项卡中打开它。好的-你问题中的代码已经指向空白,所以应该可以工作。唯一的诊断方法是查看它生成的html。在新的anywhere上可以访问该页吗?谢谢!似乎我可以不管目标是否为“_blank”…实际URL在MVC控制器中创建、加密和签名,因此我需要从中打开新选项卡(同时使用主文件列表维护当前选项卡)……我一直都有……我只是把它放错了位置……你的回答是1000%正确。谢谢——你是我最喜欢的袋熊!把它放在一个答案里,我会给你评分的。