页面操作完成时,显示提示信息并倒计N秒后跳转(草)
1. 当前页,在后台代码往前台输出(注册)脚本的方式
A:一般操作成功后提示(这里直接用Response.Write输出了,也可以使用Page的ClientScript对象的RegisterStartupScript方法)
protected void Button1_Click(object sender, EventArgs e)
{
string yourUrl = "http://www.baidu.com";
string yourMsg = "操作已成功";
StringBuilder js = new StringBuilder("<script language=\"javascript\">")
.Append("document.write(\'" + yourMsg + "\');")
.Append("var timeSpan = 10; setInterval(\"Redirect()\",1000);")
.Append("function Redirect(){ if(timeSpan == 0){")
.Append("window.location.href=\""+yourUrl+"\"; }else{")
.Append("document.body.innerHTML = \"倒数\"+(timeSpan--)+\"秒\";}}")
.Append("</script>");
Response.Write(js.ToString());
}
{
string yourUrl = "http://www.baidu.com";
string yourMsg = "操作已成功";
StringBuilder js = new StringBuilder("<script language=\"javascript\">")
.Append("document.write(\'" + yourMsg + "\');")
.Append("var timeSpan = 10; setInterval(\"Redirect()\",1000);")
.Append("function Redirect(){ if(timeSpan == 0){")
.Append("window.location.href=\""+yourUrl+"\"; }else{")
.Append("document.body.innerHTML = \"倒数\"+(timeSpan--)+\"秒\";}}")
.Append("</script>");
Response.Write(js.ToString());
}
B:异常处理 发生时提示
try
{
int.Parse("hello");
}
catch (Exception ex)
{
StringBuilder js = new StringBuilder("<script language=\"javascript\">")
.Append("document.write(\'" + ex.Message + "\');")
.Append("var timeSpan = 10; setInterval(\"Redirect()\",1000);")
.Append("function Redirect(){ if(timeSpan == 0){")
.Append("window.location.href=\"http://www.baidu.com\"; }else{")
.Append("document.body.innerHTML = \"倒数\"+(timeSpan--)+\"秒\";}}")
.Append("</script>");
Response.Write(js.ToString());
}
{
int.Parse("hello");
}
catch (Exception ex)
{
StringBuilder js = new StringBuilder("<script language=\"javascript\">")
.Append("document.write(\'" + ex.Message + "\');")
.Append("var timeSpan = 10; setInterval(\"Redirect()\",1000);")
.Append("function Redirect(){ if(timeSpan == 0){")
.Append("window.location.href=\"http://www.baidu.com\"; }else{")
.Append("document.body.innerHTML = \"倒数\"+(timeSpan--)+\"秒\";}}")
.Append("</script>");
Response.Write(js.ToString());
}
2. 跳转到另外一页(带需要的参数及值),然后在新页中处理
A:使用JS,可以参考一中的脚本,用js读取参数就可以了
B:如果无参数传递,可以考虑在<head></head>里插入
<meta http-equiv="refresh" content="等待秒数;url=跳转地址">
分类:
AJAX&ASP.NET
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述