我的注册按钮事件是
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
的消息。我想通过弹出窗口或消息框显示消息。
答案 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");