问题描述
我的源码如下,我想实现就是跳出一个对话框,然后等待3秒自动跳转,请问大家怎么改protectedvoidqueding_Click(objectsender,EventArgse){if(this.xmima.Text.ToString()==this.qrxmm.Text.ToString()){stringmima=this.qrxmm.Text.ToString();stringsfzh=Session["sfzh"].ToString();stringlianjie=ConfigurationManager.ConnectionStrings["lianjieshujuku"].ConnectionString;SqlConnectionconn=newSqlConnection(lianjie);conn.Open();SqlCommandcmd=newSqlCommand();cmd.Connection=conn;cmd.Parameters.AddWithValue("@mima",mima);cmd.Parameters.AddWithValue("@sfzh",sfzh);cmd.CommandText="Updateuserinfoset[密码]=@mimawhere[身份证号]=@sfzh";intivalue=cmd.ExecuteNonQuery();if(ivalue>0){Response.Write("您的密码已经修改成功!请使用新的密码登陆!3秒钟后自动转到登陆页面!");Thread.Sleep(3000);Response.Redirect("../Default.aspx");}}else{Response.Write("<script>alert('你的两次密码输入不一致!');</script>");}}
其中就是以下代码怎么改if(ivalue>0){Response.Write("您的密码已经修改成功!请使用新的密码登陆!3秒钟后自动转到登陆页面!");Thread.Sleep(4000);Response.Redirect("../Default.aspx");}
解决方案
解决方案二:
Response.Write("您的密码已经修改成功!请使用新的密码登陆!3秒钟后自动转到登陆页面!");这里面加一段js,等待3秒跳转
解决方案三:
加个setTimeout调转
解决方案四:
简单的做法是操作成功后在页面中显示倒计时,然后跳转到新页面。
解决方案五:
if(ivalue>0){Response.Write("<script>setTimeout("top.location.href='../Default.aspx'",3000);alert('您的密码已经修改成功!请使用新的密码登陆!3秒钟后自动转到登陆页面!');>");}
解决方案六:
不知道里面的单双引号对不对,手打的,你可以将<script>中间的在前端封装成一个函数,然后后端调用即可,类似于你调用alert这样的。
解决方案七:
用js的回调函数触发settimeOut,亦或者在后台用一个微软自带的定时器控件。
解决方案八:
最基本的原理,就是对于用户交互程序设计,要会设计为“两阶段”的流程。你画出一个流程图就能发现问题。不会设计软件的人可能会在流程图上画一个加工处理活动(画成方框),里边写上“显示等待3秒钟”,这显然是坑爹的流程图,因为流程图上不可能有这种加工处理。流程图上,当给用户显示提示时,第一个流程图就结束了。然后当定时触发了后续操作时,下一个流程图开始启动。“Thread.Sleep(3000);”这种代码是想当然的,初学者最容易用这种思维方式。
解决方案九:
仅仅抄代码,不能真正搞明白程序设计。既然你关心“方案”,那么就学软件设计基础。
解决方案十:
这个使用jquery应该很容易,推荐使用http://layer.layui.com/这里面有你要的。很简单的
解决方案十一:
这玩意不是js的工作吗。服务端为什么要抢着干呢。服务端凡事都亲力亲为,迟早跪的。
解决方案十二:
思路错了。应该是服务端将这个成功或者失败的标识尽可能快地返回给客户端。再由js去决定怎么执行和显示而不是在服务端搞那些乱七八糟的东东。什么挂起啊!什么鬼的。