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

我想在页面发生了某个特定条件下先弹出一个JS提示,然后用response.redirect()跳转到指定页面。当事件发生先弹出JS,等待用户点击确定后页面跳转。下面是我之... 我想在页面发生了某个特定条件下先弹出一个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,在跳转页面。但是问题又出来了,这个跳转的页面只是页面的历史记录,根本没有经过服务器,结果出了不想看到的问题。
这个问题怎么解决,有更好的办法不?
展开
 我来答
lovemingming
推荐于2016-01-08 · TA获得超过4137个赞
知道大有可为答主
回答量:1422
采纳率:0%
帮助的人:1420万
展开全部
你现在页面中添加一个<label id="lblMsg" runat="server"></label>
然后再你要跳转的地方写上:
lblMsg.InnerHtml = "<script type='text/javascript'>alert('pop message!');window.location='http://www.baidu.com'</script>";
你试试这样的效果怎么样?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手绘时装画
2010-03-05 · TA获得超过337个赞
知道小有建树答主
回答量:538
采纳率:0%
帮助的人:265万
展开全部
/// <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>");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yfdong21
2010-03-04 · TA获得超过1025个赞
知道小有建树答主
回答量:546
采纳率:0%
帮助的人:353万
展开全部
/// <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());

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
树儿传说
2010-03-05 · TA获得超过1243个赞
知道小有建树答主
回答量:1507
采纳率:52%
帮助的人:206万
展开全部
我把我的一个例子说一下吧!

思路如下:
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();}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
行海盍芷蓝
2019-02-21 · TA获得超过3838个赞
知道大有可为答主
回答量:3098
采纳率:29%
帮助的人:233万
展开全部
你现在页面中添加一个<label
id="lblMsg"
runat="server"></label>
然后再你要跳转的地方写上:
lblMsg.InnerHtml
=
"<script
type='text/javascript'>alert('pop
message!');window.location='http://www.baidu.com'</script>";
你试试这样的效果怎么样?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式