小弟的开发工具是visual studio 2005+sql server 2005
(1)我先在sql2005中建了一个表user,有user_id(主键,不允许为空),user_name(不允许为空),user_Pwd(不允许为空)。
(2)然后在vs2005里建了一个ASP.NET网站,其中一个regedit页面用于注册,该页面有3个textbox和1个警告用的label,分别是userName,userPwd_1,userPwd_2,warning,用于输入用户名,密码,确认密码,发出警告。
(3)regedit.aspx.cs的相关代码如下:
protected void submit_Click(object sender, EventArgs e)
{
if (userName.Text == "")
{
warning.Text = "请输入用户名";
}
if (userPwd_1.Text == "")
{
warning.Text += "请输入密码";
}
if (userPwd_2.Text != userPwd_1.Text)
{
warning.Text += "密码不一致";
}
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ConnectionString);
conn.Open();
string str = "insert into user(user_name,user_Pwd) values('" + userName.Text + "',
'"+userPwd_1.Text + "')";
SqlCommand comm = new SqlCommand(str, conn);
comm.ExecuteNonQuery();
conn.Close();
}
(4)这样只会发出警告,3个textbox里的信息还是会往user表里添加信息,请问应该怎样写才能做出更好的警告和阻止非法信息的写入,谢谢^^。
------解决方案--------------------------------------------------------
- C# code
if (userName.Text == " ") { warning.Text = "请输入用户名 "; } else if (userPwd_1.Text == " ") { warning.Text += "请输入密码 "; } else if (userPwd_2.Text != userPwd_1.Text) { warning.Text += "密码不一致 "; } else{ SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings[ "constr "].ConnectionString); conn.Open(); string str = "insert into user(user_name,user_Pwd) values( ' " + userName.Text + " ', ' "+userPwd_1.Text + " ') "; SqlCommand comm = new SqlCommand(str, conn); comm.ExecuteNonQuery(); conn.Close(); }
------解决方案--------------------------------------------------------
IF在判断的时候思想错了拉 ....
不管你怎么样 !!肯定都会执行button事件的
LS的正解
------解决方案--------------------------------------------------------
用检验控件
<asp:RequiredFieldValidator id="user_t" ControlToValidate="userName" Display="Dynamic" text="必须输入用户名!"
ErrorMessage="必须输入用户名!" runat="server" />
<asp:RequiredFieldValidator id="user_t" ControlToValidate="userPwd_1" Display="Dynamic" text="必须输入密码!"
ErrorMessage="必须输入密码!" runat="server" />
<asp:CompareValidator ControlToValidate="userPwd_2" id="userPwd_1" ControlToCompare="txtpass" Display="Dynamic" Text="两次密码输入不一致" ErrorMessage="两次密码输入不一致!" Operator="Equal" runat="server"/>
</td>
If IsValid
{
write db
}
------解决方案--------------------------------------------------------
在添加的时候验证一下不就行了吗...验证通过了才添加,没有通过就不添加
------解决方案--------------------------------------------------------
最好可以写个js文件名为validate.js
Validator = {