上午又弄了一下注册页面,总结问题如下:
先拖了个table,几行几列的,用来布局,
1,判断不为空的验证就用昨天说的那个RequiredFieldValidator 控件
2,输入密码一致的验证:
在<asp:textbox id=conformPS>里确认密码,用CompareValidator验证,
ControlToValidate=conformPS,ControlToCompare=PS
(输入密码的textbox)ErrorMessage=“用户名密码必须一致”
3,合法邮件的验证:
用RegularExpressionValidator。ValidatorExpression=“/w+([-+.']/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*” ErrorMessage=“请输入合法邮箱地址”
4,选择性别
<asp:RadioButton ID="RadioButton1" runat="server" Checked="True" GroupName="sex" Text="男" />
<asp:RadioButton ID="RadioButton2" runat="server" GroupName="sex"
Text="女" Width="38px" />选中后的事件:
string sex = "";
if (this.RadioButton1.Checked)
{
sex = RadioButton1.Text;
}
else sex=RadioButton2.Text;
}
5 双击注册后的事件
protected void Button1_Click(object sender, EventArgs e)
{
MembershipCreateStatus ms;
string university=this.DropDownList1.SelectedValue;
MembershipUser newuser = Membership.CreateUser(this.UserName.Text, Password.Text,Email.Text,Question.Text,Answer.Text,true,out ms );
if (ms == MembershipCreateStatus.Success)
{
AspnetTableAdapters.User_newinfoTableAdapter auta = new AspnetTableAdapters.User_newinfoTableAdapter();
auta.Insert1(newuser.UserName,university,sex );//以上两句表示插入membership扩展的信息,有机会在总结
Response.Write("<script>function window.onload(){alert('注册成功,请登录')}</script>");
Server.Transfer("Login.aspx");
}
else
{
switch (ms)
{
case MembershipCreateStatus.DuplicateUserName:
ErrorMessage.Text = "用户名已经存在"; break;
case MembershipCreateStatus.DuplicateEmail:
ErrorMessage.Text = "此邮箱地址已经注册过"; break;
default:
ErrorMessage.Text = "发生错误,请重新注册"; break;
}
}
}