【发布时间】:2016-09-07 11:02:27
【问题描述】:
我有一个带有打印按钮的表单,单击时会打开一个单独的浏览器选项卡,其中显示 Sql Server Reporting Services 报告。我还将两个变量传递给这个单独的报告页面。
Protected Sub btnPrint_Click(sender As Object, e As EventArgs) Handles btnPrint.Click
Dim VID As Integer
Dim SID As Integer
Dim QueryString As String
Dim dc As New VehicleDataContext(db.ConnectionString)
Dim oReportPath = From rpt In dc.ReportLists _
Where rpt.ReportName = "Vehicle Service Record" _
Select rpt.ReportPath
Dim sURL As String = "ReportViewer.aspx"
Session.Add("ReportPath", oReportPath.First)
VID = CInt(Session("VId"))
SID = CInt(Session("SID"))
QueryString = "ReportViewer.aspx?ID=" & VID
QueryString = QueryString & "&SID=" & SID
Response.Redirect(QueryString)
报告打开时没有问题,但我遇到的困难在于 JavaScript。
<script type = "text/javascript">
function SetTarget() {
document.forms[0].target = "_blank";
}
</script>
<script type = "text/javascript">
var ResetTarget = function () {
document.forms[0].target = "_self";
}
</script>
在此按钮的 OnClientClick 事件中,我添加了代码以强制报表在新选项卡中打开。第二个 JavaScript 函数是将应用程序重置为默认行为。我在“关闭”按钮下调用了此代码,但我意识到单击网页上的其他按钮或链接将继续在新的浏览器选项卡中打开我的表单,这是我不想要的。
有没有办法在打印按钮代码成功完成后调用此 ResetTarget 脚本,以便此表单上的其他页面事件不会继续打开新窗口?
提前致谢。
【问题讨论】:
-
我在发布之前看到了其他帖子,但它们没有解决我遇到的确切问题
标签: javascript asp.net vb.net