在新浏览器选项卡上加载新的aspx页面后调用JavaScript函数

在新浏览器选项卡上加载新的aspx页面后调用JavaScript函数,javascript,asp.net,vb.net,Javascript,Asp.net,Vb.net,我有一个带有打印按钮的表单,单击该表单会打开一个单独的浏览器选项卡,其中显示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 St

我有一个带有打印按钮的表单,单击该表单会打开一个单独的浏览器选项卡,其中显示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>

函数SetTarget(){
document.forms[0]。target=“\u blank”;
}
var ResetTarget=函数(){
document.forms[0]。target=“\u self”;
}
在该按钮的OnClientClick事件中,我添加了代码,以强制在新选项卡中打开报告。第二个JavaScript函数是将应用程序重置回默认行为。我在“关闭”按钮下调用了这段代码,但我意识到单击网页上的其他按钮或链接会在新的浏览器选项卡中不断打开我的表单,这是我不想要的

打印按钮代码成功完成后,是否有方法调用此ResetTarget脚本,以便此表单上的其他页面事件不会继续打开新窗口

提前谢谢

function SetTarget() {

    document.forms[0].target = "_blank";
    setTimeout(function(){document.forms[0].target = "_self";},300);
}

这可以接受吗?

在我发布这篇文章之前,我看到了其他的文章,但它们没有解决我遇到的确切问题