在新的浏览器选项卡上加载新的aspx页面后调用JavaScript函数
Calling JavaScript function after a new aspx page is loaded on a new browser tab
我有一个带有打印按钮的表单,单击会打开一个单独的浏览器选项卡,其中显示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脚本,以便此表单上的其他页面事件不会继续打开新窗口?
提前谢谢。
function SetTarget() {
document.forms[0].target = "_blank";
setTimeout(function(){document.forms[0].target = "_self";},300);
}
可以接受吗?
相关文章:
- 如何从模块链中调用函数.导出到节点中
- 调用函数内部的函数
- 在javascript中调用c函数
- DropDownListFor赢得't在更改时调用函数
- Javascript页面调用函数
- 在动画结束之前调用函数
- 允许父窗口在其不同域的子iframe上调用函数
- 运行Infinite Scroll后调用函数时出现问题
- JavaScript:在调用函数的文本输入上按enter键
- 使用大括号和不使用bracs调用函数的区别
- javascript在事件上调用函数
- 从index.html调用函数,该函数无限循环
- 从带参数的字符串变量调用函数中的函数
- 为什么 JS 不在滚动时调用函数
- 是否可以在不更改上下文的情况下调用函数.apply
- 如何在ES6类中使用参数调用函数
- AngularJS:调用函数时编号不更新
- JavaScript中的立即调用函数表达式(IIFE)-传递jQuery
- 在JavaScript中调用函数时自定义此选项
- 调用函数中声明的变量