我尝试在重定向到另一个页面之前使用 JavaScript 打开一个弹出窗口。
我写了这段代码:
ScriptManager.RegisterStartupScript(this.Page, typeof(Page), "abc", "window.open('http://yahoo.com','2','resizable=yes,directories= no,menubar=no,top=null,left=00, width=100,height=100')", true);
Response.Redirect(p.Url);
但这只是一个重定向,并且不会打开弹出窗口。
如何在用户重定向到另一个页面之前打开弹出窗口?
最佳答案
如果您在 response.redirect();
之前执行诸如打开弹出窗口或窗口之类的操作,则它将不起作用。如果您想在打开弹出框后重定向到任何页面,请确保重定向只能用 Javascript 编写,而不是用 C# 编写
这行不通
Response.Write("<script language='javascript'>alert('hello')</script>");
Response.Redirect("About.aspx"); <br>
这会起作用
Response.Write("<script language='javascript'>alert('hello');
window.location.href='About.aspx';</script>");
或者
if (!ClientScript.IsStartupScriptRegistered("alert"))
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alertMe();window.location.href='About.aspx';", true);
}
这样我们也可以调用外部JS文件
Page.ClientScript.RegisterStartupScript(this.GetType(), "callJS",
"&alt; script language='javascript' src='sample.js' &glt; ");
关于asp.net - 在重定向到其他页面之前运行 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11176442/