ASP.NET如果在页面跳转之前弹出JS的ALERT窗口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET如果在页面跳转之前弹出JS的ALERT窗口相关的知识,希望对你有一定的参考价值。

我想在页面发生了某个特定条件下先弹出一个JS提示,然后用response.redirect()跳转到指定页面。当事件发生先弹出JS,等待用户点击确定后页面跳转。
下面是我之前的两种写法代码
实例1:
ClientScript.RegisterStartupScript(Page.GetType(),"","<script type='text/javascript'>alert('pop something');</script>");
Response.Redirect("index.aspx");
这段代码在事件发生事直接跳转到制定页面,没有执行JS弹出窗口。

实例2:
ClientScript.RegisterStartupScript(Page.GetType(),"","<script type='text/javascript'>alert('pop something');window.open('...')</script>");
我把REDIRECT转向去掉了,加了WINDOW.OPEN,测试页面是先弹出了JS,在跳转页面。但是问题又出来了,这个跳转的页面只是页面的历史记录,根本没有经过服务器,结果出了不想看到的问题。
这个问题怎么解决,有更好的办法不?

参考技术A 你现在页面中添加一个<label id="lblMsg" runat="server"></label>
然后再你要跳转的地方写上:
lblMsg.Innerhtml = "<script type='text/javascript'>alert('pop message!');window.location='http://www.baidu.com'</script>";
你试试这样的效果怎么样?本回答被提问者采纳
参考技术B /// <summary>
/// 弹出提示信息,并跳转到另一页面
/// </summary>
/// <param name="msg">弹出信息内容</param>
/// <param name="url">新的URL</param>
protected void AlertAndRedirect(string msg, string url)

msg = msg.Replace("'", "‘");
ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>alert('" + msg + "');document.location.href='" + url + "';</script>");
参考技术C /// <summary>
/// 显示消息提示对话框,并进行页面跳转 alert
/// </summary>
/// <param name="page">当前页面指针,一般为this</param>
/// <param name="msg">提示信息</param>
/// <param name="url">跳转的目标URL</param>
public static void ShowAndRedirect(System.Web.UI.Page page, string msg, string url)

StringBuilder Builder = new StringBuilder();
Builder.Append("<script language='javascript' defer>");
Builder.AppendFormat("alert('0');", msg);
Builder.AppendFormat("top.location.href='0'", url);
Builder.Append("</script>");
page.RegisterStartupScript("message", Builder.ToString());

参考技术D 我把我的一个例子说一下吧!

思路如下:
1.在页面上设置一个服务器端按钮:
<asp:Button ID="linkToSign" runat="server"
Text="Button" onclick="linkToSign_Click" CssClass="displayNo"/>

2.假如此按钮的服务器端事件为:
protected void linkToSign_Click(object sender, EventArgs e)
Session["Page"] = Request.Url.AbsoluteUri.ToString();
Response.Redirect("../signUphome.html");


3.JS调用:
if(confirm('您尚未登陆,是否现在登陆?')==true)document.getElementById('linkToSign').click();
第5个回答  2019-02-21 你现在页面中添加一个<label
id="lblMsg"
runat="server"></label>
然后再你要跳转的地方写上:
lblMsg.InnerHtml
=
"<script
type='text/javascript'>alert('pop
message!');window.location='http://www.baidu.com'</script>";
你试试这样的效果怎么样?

ASP.NET如何实现跳转到上一个浏览的页面?

我做的是购物网站,在购物车网页中点击“继续购物”按钮,页面会跳转到上一个用户浏览的网页,请问这该如何实现呢?

参考技术A 第一种:<a href="shopping.aspx"><asp:Button ID="Button1" runat="server" Text="继续购物" /></a>
就是把Button包含在一个超链接中,挺方便的。
第二种:Response.Redirect(~/shopping.aspx);
参考技术B Response.Redirect(Request.UrlReferrer);追问

提示request是无效参数啊。。能说详细些么?

参考技术C 获取上次跳转过来之前的页面的URL并付给继续购物的链接URL追问

如何获取上次跳转过来的页面的url呢?

以上是关于ASP.NET如果在页面跳转之前弹出JS的ALERT窗口的主要内容,如果未能解决你的问题,请参考以下文章

ASP.net怎么获取其他页面的URL

asp.net弹出对话框(提示框)的方法

ASP.Net后台 实现先弹出对话框,再跳转到另一个网页的实现方法

ASP怎样实现页面跳转。

asp.net如何让未登录用户登录后能自动跳转到登录前访问的页面?

asp.net 如何 刷新并关闭父页面?