在我看来,我生成了一个链接,该链接包含传递给控制器的用户名,帐号编号和日期:
@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(我必须在我的控制器中当场创建该URL,所以我不能只在视图中有一个链接供用户单击(这太简单了!)。我需要打开返回PDF的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中寻找的是以下形式的内容,其中链接的target属性设置为'_blank',
<a href="the_pdf_link/" target="_blank">Open PDF</a>
做到正确,您将获得想要的行为。
如果问题出在服务器端代码中,那么当您解决它时,请编辑您的问题以包括此修复程序,以便将来查看的其他任何人都可以看到故事的两面。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句