繁体   English   中英

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

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

我的注册按钮事件是

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 ,也没有弹出窗口。 这是非常糟糕的设计。

我很确定您也应该阅读SQL Injection,因为您在这里所做的工作非常危险。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM