如何在用户注册成功时显示消息框并将其重定向到登录页面?

How can I show messagebox when user register successfully and redirect him to Login page?

本文关键字:重定向 登录 用户注册 成功 消息 显示      更新时间:2023-09-26

我的注册按钮事件是

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");