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,在跳转页面。但是问题又出来了,这个跳转的页面只是页面的历史记录,根本没有经过服务器,结果出了不想看到的问题。
这个问题怎么解决,有更好的办法不? 展开
下面是我之前的两种写法代码
实例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,在跳转页面。但是问题又出来了,这个跳转的页面只是页面的历史记录,根本没有经过服务器,结果出了不想看到的问题。
这个问题怎么解决,有更好的办法不? 展开
5个回答
展开全部
你现在页面中添加一个<label id="lblMsg" runat="server"></label>
然后再你要跳转的地方写上:
lblMsg.InnerHtml = "<script type='text/javascript'>alert('pop message!');window.location='http://www.baidu.com'</script>";
你试试这样的效果怎么样?
然后再你要跳转的地方写上:
lblMsg.InnerHtml = "<script type='text/javascript'>alert('pop message!');window.location='http://www.baidu.com'</script>";
你试试这样的效果怎么样?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/// <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>");
}
/// 弹出提示信息,并跳转到另一页面
/// </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>");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/// <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());
}
/// 显示消息提示对话框,并进行页面跳转 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());
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我把我的一个例子说一下吧!
思路如下:
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();}
思路如下:
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();}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你现在页面中添加一个<label
id="lblMsg"
runat="server"></label>
然后再你要跳转的地方写上:
lblMsg.InnerHtml
=
"<script
type='text/javascript'>alert('pop
message!');window.location='http://www.baidu.com'</script>";
你试试这样的效果怎么样?
id="lblMsg"
runat="server"></label>
然后再你要跳转的地方写上:
lblMsg.InnerHtml
=
"<script
type='text/javascript'>alert('pop
message!');window.location='http://www.baidu.com'</script>";
你试试这样的效果怎么样?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询