我在按钮点击事件的末尾有一些代码,该事件使用registerStartupScript打开新窗口(它是对用户打印的报告)
>加载页面后,我想将用户从数据输入页面重新指导回到默认页面,但是如果我在其中放置Response.Redirect
,则不会打开我的弹出窗口。知道为什么弹出窗口不会开火吗?
这是C#代码:
string myRptURL = "EstimateReport.aspx?id=" + hiddenID.Value;
string script = "window.open('" + myRptURL + "','')";
ClientScript.RegisterStartupScript(this.GetType(), "OpenWin", "<script>openNewWin('" + myRptURL + "')</script>");
Response.Redirect("default.aspx?mess=" + Server.UrlEncode("New Estimate Created"));
这是JavaScript函数:
<script language="javascript" type="text/javascript">
function openNewWin(url) {
var x = window.open(url, 'mynewwin', '_blank', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=600,height=520,modal=yes,alwaysRaised=yes');
x.focus();
}
Response.Redirect
正在取消脚本,因为它没有发送给客户端。重定向JavaScript。
ClientScript.RegisterStartupScript(this.GetType(), "OpenWin",
"<script>openNewWin('" + myRptURL + "','" + "default.aspx?mess=" +
Server.UrlEncode("New Estimate Created") + "')</script>");
function openNewWin(url, redirectUrl) {
var x = window.open(url, 'mynewwin', '_blank', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=600,height=520,modal=yes,alwaysRaised=yes');
x.focus();
window.location = redirectUrl;
}