如何在用户注册成功时显示消息框并将其重定向到登录页面?
本文关键字:重定向 登录 用户注册 成功 消息 显示 | 更新日期: 2023-09-27 18:13:41
我的注册按钮事件是
protected void signup_Click(object sender, EventArgs e)
{
string con = ConfigurationManager.ConnectionStrings["connection"].ConnectionString;
SqlConnection conn = new SqlConnection(con);
conn.Open();
if (selectques.SelectedItem.Text == "Write your own question?")
{
SqlCommand cmd = new SqlCommand("insert into registration values('" + username.Text + "','" + passwrd.Text + "','" + emailadd.Text + "','" + alterquestion.Text + "','" + securityanswer.Text + "')", conn);
cmd.ExecuteNonQuery();
Response.Redirect("Login.aspx");
try {
ClientScript.RegisterStartupScript(Page.GetType(), "Message", "alert('Successful Registered');window.location='login.aspx';", true);
}
catch(Exception ex)
{
}
}
else
{
SqlCommand cmd = new SqlCommand("insert into registration values('" + username.Text + "','" + passwrd.Text + "','" + emailadd.Text + "','" + selectques.Text + "','" + securityanswer.Text + "')", conn);
cmd.ExecuteNonQuery();
Response.Redirect("login.aspx");
try
{
ClientScript.RegisterStartupScript(Page.GetType(), "Message", "alert('Successful Registered');window.location='login.aspx';", true);
}
catch (Exception ex)
{
}
}
}
注册成功后,如何在登录页面或同一页面显示Successful Registered
的消息?我想通过弹出窗口或消息框显示消息
一个小小的UI设计技巧——人们讨厌弹出窗口。当然,你提出的想法需要JavaScript——有些人没有这个功能。不是可访问的解决方案。最简单的方法是通过GET传递一个参数(你也可以使用会话)给login.aspx
,告诉它在页面顶部或附近回复一个额外的消息,说注册成功,也许用CSS样式使它看起来像一个窗口。
但是请不要使用alert
s和弹出窗口。
我很确定你也应该读一下SQL注入,因为你在这里所做的是非常危险的。
SqlCommand cmd = new SqlCommand(
"insert into registration values('" +
username.Text + "','" + passwrd.Text + "','" +
emailadd.Text + "','" + alterquestion.Text + "','" +
securityanswer.Text + "')", conn);
同时移除Response.Redirect("Login.aspx");
并检查
当你点击注册按钮时,它看起来像你发布了一个表单,这意味着你需要渲染一点JavaScript来显示弹出窗口,然后重定向,而不是做重定向服务器端。
您的另一个选择是通过AJAX调用您的注册操作,如果注册成功,则再次显示警告客户端并重定向客户端。
移动Response.Redirect("Login.aspx");