asp.net - 在重定向到其他页面之前运行 JavaScript

标签 asp.net

我尝试在重定向到另一个页面之前使用 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/

相关文章:

c# - Code First ASP.NET MVC 应用程序,未调用种子方法

c# - 在不同的 Controller 操作方法之间传递数据

c# - 防止 Automapper 将 IEnumerable 属性转换为列表

asp.net - 使用 div 和 css 或 Just Table Code 绘制模板

c# - .net 列表框从 javascript 中选择时触发事件

c# - 获取用户在浏览器中输入的确切网址

asp.net - Membership Generate Password 字母数字密码?

Javascript getElementById 给出错误 'null' is null or not an object

javascript - <asp :Button>, 中的 HREF 除了 OnClientClick 调用内联 div 之外还有哪些替代方法?

javascript - 使用附件在客户端打开 Outlook 应用程序