【问题标题】:Calling JavaScript function after a new aspx page is loaded on a new browser tab [duplicate]在新的浏览器选项卡上加载新的 aspx 页面后调用 JavaScript 函数[重复]
【发布时间】: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


【解决方案1】:
function SetTarget() {

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

可以接受吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 2011-02-06
    • 2019-05-23
    • 1970-01-01
    相关资源
    最近更新 更多