前台js
var tt = 3;
function t() {
if (tt < 1) {
window.location = "Login.aspx";
return;
};
regMsg.innerText="注册成功,页面将在 " + tt + " 后转向登录页面";
tt--;
window.setTimeout("t()",1000);
}
后台
protected void btnSubmit_Click(object sender, EventArgs e)
{
Users user = new Users();
user.UserId = txtregname.Text;
user.Name = txtrealname.Text;
user.Gender =int.Parse( ddlgender.SelectedValue);
user.Email = txtregemail.Text;
user.QQ = txtregqq.Text; string source = txtregpwd.Text;
string hash = getMd5Hash(source);
user.Pwd = hash;
if (new BLogin().BRegisterUser(user) == 1)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "s", "t()", true);
}
else
{
Response.Write("<scirpt>alert('注册失败');</scirpt>");
return;
}
}
var tt = 3;
function t() {
if (tt < 1) {
window.location = "Login.aspx";
return;
};
regMsg.innerText="注册成功,页面将在 " + tt + " 后转向登录页面";
tt--;
window.setTimeout("t()",1000);
}
后台
protected void btnSubmit_Click(object sender, EventArgs e)
{
Users user = new Users();
user.UserId = txtregname.Text;
user.Name = txtrealname.Text;
user.Gender =int.Parse( ddlgender.SelectedValue);
user.Email = txtregemail.Text;
user.QQ = txtregqq.Text; string source = txtregpwd.Text;
string hash = getMd5Hash(source);
user.Pwd = hash;
if (new BLogin().BRegisterUser(user) == 1)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "s", "t()", true);
}
else
{
Response.Write("<scirpt>alert('注册失败');</scirpt>");
return;
}
}
你调试一下是否后台真的进入
if (new BLogin().BRegisterUser(user) == 1)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "s", "t()", true);
}
了,如果进入这个条件语句了,那是不会有问题的,除非你regMsg没有定义
你看看asp是否调用到了js,t的这个方法,alert()这样测试一下,看到哪出的问题~·<!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-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head><body>
<div id="regMsg"></div>
<script>
var tt = 3;
var regMsg = document.getElementById('regMsg');
function t() {
if (tt < 1) {
window.location = "Login.aspx";
return;
};
regMsg.innerText="注册成功,页面将在 " + tt + " 后转向登录页面";
tt--;
window.setTimeout("t()",1000);
}
t();
</script>
</body>
</html>
这个是我做测试用的页面,你看下~·
只有IE支持,改成
regMsg.innerHTML
take a try
完整的代码<%@ Page Language="C#" AutoEventWireup="True" EnableViewState="false" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server"> protected void btnSubmit_Click(object sender, EventArgs e)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "s", "t()", true);
}
</script>
<html>
<head>
<title></title>
<script type="text/javascript">
var tt = 3;
function t() {
regMsg = document.getElementById('<%=Label1.ClientID %>')
if (tt < 1) {
window.location = "Login.aspx";
return;
};
regMsg.innerHTML = "注册成功,页面将在 " + tt + " 后转向登录页面";
tt--;
window.setTimeout("t()", 1000);
} </script>
</head>
<body>
<form id="form1" runat="server">
<asp:Button ID="btnSubmit" runat="server" OnClick="btnSubmit_Click" Text="Button" />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</form>
</body>
</html>是不是id冲突了。
{
Users user = new Users();
user.UserId = txtregname.Text;
user.Name = txtrealname.Text;
user.Gender =int.Parse( ddlgender.SelectedValue);
user.Email = txtregemail.Text;
user.QQ = txtregqq.Text; string source = txtregpwd.Text;
string hash = getMd5Hash(source);
user.Pwd = hash;
if (new BLogin().BRegisterUser(user) == 1)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "s", "t()", true);
}
else
{
Response.Write("<scirpt>alert('注册失败');</scirpt>");
return;
}
}我是验证后才提示的,现在是跳转了,但现在是button事件执行完后刷新页面,然后才跳转,我给本页的赋值都没显示就被刷新了,就是服务器控件事件执行完不都有回发嘛,一闪我的赋值都没了,然后才经过3秒跳转