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

时间:2011-11-08 02:45:46

标签: c# javascript asp.net

我的注册按钮事件是

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的消息。我想通过弹出窗口或消息框显示消息。

5 个答案:

答案 0 :(得分:3)

一个小小的UI设计提示 - 人们讨厌弹出窗口。当然,你提出的想法需要JavaScript - 有些人已经禁用了。 可访问的解决方案。最简单的方法是通过GET传递一个参数(你也可以使用会话)到login.aspx告诉它在页面顶部或附近回显一条额外的消息,说注册成功,也许用CSS造型来让它看起来像一个窗口。

但是请不要alert没有弹出窗口。这是非常糟糕的设计。

答案 1 :(得分:2)

我很确定你也应该阅读SQL注入,因为你在这里做的非常危险。

SqlCommand cmd = new SqlCommand(
  "insert into registration values('" + 
  username.Text + "','" + passwrd.Text + "','" + 
  emailadd.Text + "','" + alterquestion.Text + "','" +
  securityanswer.Text + "')", conn);

答案 2 :(得分:1)

删除Response.Redirect("Login.aspx");并检查。

答案 3 :(得分:0)

看起来你在点击注册按钮时发布了一个表单,这意味着你需要渲染一些JavaScript来显示弹出窗口然后重定向,而不是做重定向服务器端。

您的另一个选择是通过AJAX调用您的注册操作,如果注册成功,再次显示警报客户端并重定向客户端。

答案 4 :(得分:0)

移动Response.Redirect("Login.aspx");