asp.net 关于Response.Redirect重定向前无法弹出alert对话框的问题

要实现的功能:某项操作后,使用alert()提示框提示"操作成功"之类的提示,然后使用response.Redirect()来进行页面重定向。

出现的问题:运行代码,操作完成后,直接跳转到指定页面,但是并没有弹框提示。

示例代码:

1 protected void gvAttrList_RowDeleting(object sender, GridViewDeleteEventArgs e)
2 {
3     Page.ClientScript.RegisterStartupScript(this.GetType(), "delAtt", "alert(‘删除成功!‘)");
4     response.Redirect("default.aspx");
5 }

原因解析:response.Redirect() 方法是服务器端方法,而 alert() 是客户端方法,由于当前单击事件是在服务器端进行的,也就会先执行response.Redirect()方法,而无法判断客户端的 alert 是否已经执行。重定向后进行其他页面加载而不会再执行当前页面的alert()了。

解决方法:在添加的js代码中使用location = ‘ProAttribute.aspx‘进行页面跳转,由于都是在客户端进行,就会先执行alert(),然后进行页面跳转。

示例代码:

1 protected void gvAttrList_RowDeleting(object sender, GridViewDeleteEventArgs e)
2 {
3      Page.ClientScript.RegisterStartupScript(this.GetType(), "delAtt", "alert(‘删除成功!‘); location = ‘ProAttribute.aspx‘");
4      response.Redirect("default.aspx");
5 }
时间: 2024-10-13 07:54:30

asp.net 关于Response.Redirect重定向前无法弹出alert对话框的问题的相关文章

Response.Write("<script>alert('弹出对话框!')</script>") 后跟Response.Redirect("page.aspx");不能弹出对话框,直接跳转页面了 如何解?

Response.Write和Response.Redirect一起用的时候就会这样,write脚本和redirect脚本不能同时使用,这样不会执行脚本,最好使用ClientScript 改进方法: Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "", "<script language=javascript >alert('弹出对话框!');</script>");

ASP.net后台弹出消息对话框的方法!【转】

在winform后台,我们通过MessageBox.show(“消息")的方式来返回后台信息,在webform后台,我们通过Response.write(”消息")来返回后台消息,但这样需要将消息值以字符串形式显示到前台页面,是否有类似于MessageBox.show("消息")的方式弹出信息呢.我们会很快想到javascript的alert方法.通过在后台调用js来实现alert的调用.用法为:Response.write("<script>

ASP.NET点击按钮弹出确认对话框方法

开发asp.net网页应用程序的时候,有些页面的按钮需要增加一个确认对话框,比如: 实现这个功能比较简单,代码这样写: Button.Attributes["onclick"] = "javascript:return confirm('您确定删除吗?一旦删除将无法恢复!');"; 或 Button.Attributes.Add("OnClick", "javascript:return confirm('您确定删除吗?一旦删除将无法恢

删除前弹出确认对话框的js代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

ASP.NET的Response.Redirect() 和Server.Transfer()的区别(转)

Sever.Transfer方法把执行流程从当前的ASPX页面转到同一服务器上的另一ASPX页面.但新的ASPX页面仍使用前一ASPX页面创建的应答流.如果用Server.Transfer方法实现页面之间的导航,则浏览器中的URL不会改变,因为重新定向完全是在服务器端进行的,浏览器根本不知道服务器已经执行了一次页面变换. Response.Redirect则是客户端第一次请求服务器,并返回状态代码302及新的URL,客户端再次请求新的URL,服务器才返回新页面,多了一次应答.

layer实现在前台删除前确认弹出框,并回调后台删除事件

最近遇到一些问题,用layer提示消息框,比如删除时,提示消息确定后 return false时,则不管用了,因为layer不支持阻塞,下面就解决一下这个问题: 删除按钮代码: <asp:Button ID="btnDel" name="btnDel" runat="server" Text="删除" class="btn btn-gray" OnClientClick="return re

ASP.NET MVC中如何在当前页面上弹出另外一个页面

注意:不是链接到另一个页面,而是弹出一个页面,当前的页面和弹出页面都存在于浏览器的同一个标签页中,效果如图: 弹出的窗体置于四大天王页面之上,但是无法继续操作底层的页面,代码如下: 1 function createDialog(src, width, height) { 2 var _doc_width = $(document).width(); 3 var _doc_height = $(document).height(); 4 var _html = "<div id='bg'

Response.Redirect(&quot;x.aspx);跳转后session为null的解决方法

通常我们做登陆的时候都是登录成功后为管理员保存一些信息,一般都会写类似下面的代码 if(登录成功) { Session["xx"] = "user"; Response.Redirect("Framework.aspx"); } 当我们登录后再从其它页面访问Session["xx"]的时候发现报错说为null.郁闷具体是为什么我也不清楚. 网上百度一下有人做了如下解释,不知道是否合理 原因:当asp.net 执行 respon

ASP.NET弹出对话框

自己写的窗口弹出:Page.RegisterClientScriptBlock("alert", "<script>alert('两次密码不一致,请重新输入!')</script>"); [以下为网上查询到的方法] 在ASP.NET程序的开发过程中,常常需要向用户给出提示信息,比如是否"操作成功","确定"还是"取消"操作: (1) 点击页面上的按钮,弹出一个对话框提示是"