注册页面:
<body style="background:url(image/back.jpg)">
<form id="form1" runat="server">
<h1 style="color:red">请输入个人详细信息</h1>
<asp:Label ID="image" runat="server" Visible="false" ForeColor="Red"></asp:Label>
<table id="infor">
<caption ></caption>
<tr>
<td style="text-align:right">用户号:</td>
<td><asp:TextBox ID="user" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFV1" runat="server" ForeColor="Red"
ErrorMessage="用户号为必填项目" ControlToValidate="user">
</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RFV2" runat="server"
ErrorMessage="用户号不合法" ControlToValidate="user" ForeColor="Red"
ValidationExpression="^[a-zA-Z]\w{4,16}[a-zA-Z0-9]$"></asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td style="text-align:right">昵称:</td>
<td><asp:TextBox ID="username" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ForeColor="Red"
ErrorMessage="昵称为必填项目" ControlToValidate="username">
</asp:RequiredFieldValidator>
</td>
</tr>
<tr><td style="text-align:right">密码:</td><td><asp:TextBox ID="pass" runat="server" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFV3" runat="server" ForeColor="Red"
ErrorMessage="密码为必填项目" ControlToValidate="pass">
</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ErrorMessage="密码不合法" ControlToValidate="pass" ForeColor="Red"
ValidationExpression="[^\$\\]{6,16}"></asp:RegularExpressionValidator>
</td></tr>
<tr><td style="text-align:right">确认密码:</td><td><asp:TextBox ID="repass" runat="server" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFV4" runat="server"
ErrorMessage="密码为必填项目" ControlToValidate="repass" ForeColor="Red">
</asp:RequiredFieldValidator>
<asp:CompareValidator Id="CV1" runat="server"
ErrorMessage="密码不一致" ControlToValidate="repass" ForeColor="Red"
ControlToCompare="pass" Type="String" Operator="Equal">
</asp:CompareValidator></td></tr>
<tr><td style="text-align:right" >Email</td><td><asp:TextBox ID="email" style="color:gray;font-style:italic" value="如wustzz@163.com"
onfocus="if (this.value == '如wustzz@163.com') {
this.value =''; this.style.color = 'Black'; this.style.fontStyle = 'normal';
}"
onblur="if (this.value == '') { this.value = '如wustzz@163.com'; this.style.fontStyle = 'italic';this.style.color = 'gray' }" runat="server" ></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server"
ErrorMessage="邮箱不合法" ControlToValidate="email" ForeColor="Red"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="*请绑定163邮箱" ForeColor="Red" OnServerValidate="CustomValidator1_ServerValidate" ControlToValidate="email" Display="Dynamic"></asp:CustomValidator>
</td></tr>
<tr>
<td style="text-align:right">邮箱名:</td>
<td><asp:TextBox ID="mailName" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator8" runat="server" ForeColor="Red"
ErrorMessage="邮箱名为必填项目" ControlToValidate="mailName">
</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td style="text-align:right">邮箱密码:</td>
<td><asp:TextBox ID="mailPass" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator9" runat="server" ForeColor="Red"
ErrorMessage="邮箱密码为必填项目" ControlToValidate="mailPass">
</asp:RequiredFieldValidator>
</td>
</tr>
<tr><td style="text-align:right">性别</td><td><asp:RadioButtonList runat="server" ID="sex" RepeatDirection="Horizontal">
<asp:ListItem Selected="True">男</asp:ListItem>
<asp:ListItem>女</asp:ListItem>
</asp:RadioButtonList>
</td></tr>
<tr><td style="text-align:right">籍贯</td><td>
<asp:ScriptManager ID="SM1" runat="server"/>
<asp:UpdatePanel ID="up1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="sheng" runat="server" AutoPostBack="true" onselectedindexchanged="add"
>
<asp:ListItem Selected="true" Value=" ">请选择</asp:ListItem>
<asp:ListItem Value="湖南省">湖南省</asp:ListItem>
<asp:ListItem Value="广东省">广东省</asp:ListItem>
<asp:ListItem Value="湖北省">湖北省</asp:ListItem>
<asp:ListItem Value="江苏省">江苏省</asp:ListItem>
</asp:DropDownList>省
<asp:DropDownList ID="shi" runat="server">
<asp:ListItem Selected="true" Value=" ">请选择</asp:ListItem>
</asp:DropDownList>市
</ContentTemplate>
</asp:UpdatePanel>
</td></tr>
<tr><td style="text-align:right">手机号</td><td><asp:TextBox ID="num" runat="server" placeholder="11位,联通号"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server"
ErrorMessage="必须为11个号码" ControlToValidate="num" ForeColor="Red"
ValidationExpression="\d{11}"></asp:RegularExpressionValidator>
</td></tr>
<tr><td style="text-align:right">个人照片</td><td><asp:FileUpload ID="photo" runat="server" BackColor="#FFFF99" /></td></tr>
<tr><td style="text-align:right;vertical-align:top">出生年月</td><td>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate><asp:Textbox ID="showData" runat="server" AutoPostBack="true"></asp:Textbox><asp:calendar ID="data" runat="server" Visible="true" OnSelectionChanged="data_SelectionChanged" BorderColor="#FF6600" ForeColor="Black"></asp:calendar><asp:Button ID="visable" Text="确定" runat="server" OnClick="visable_Click" BackColor="#66FFFF" BorderStyle="None"/></ContentTemplate>
</asp:UpdatePanel></td></tr>
<tr><td style="text-align:right">备注信息</td><td><asp:TextBox ID="info" runat="server" TextMode="MultiLine" Rows="5" Wrap="true"></asp:TextBox></td></tr>
<tr><td><asp:Button ID="bt1" runat="server" Text="提交" OnClick="bt1_Click" BackColor="#66CCFF" BorderStyle="None"/> </td><td><asp:Button ID="bt2" runat="server" Text="重填" BackColor="#66CCFF" BorderStyle="None"/></td></tr>
</table>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" InsertCommand="INSERT INTO userInfor(USERID, USERNAME, PASS, SEX, CITY, PRIVICE, IMAGE, PHONE, BIRTH, EMAIL, MAILPASS, MAILNAME) VALUES (@userid, @username, @pass, @sex, @city, @privice, @image, @phone, @birth, @email, @mailpass, @mailname)" SelectCommand="SELECT [USERID], [USERNAME], [PASS], [SEX], [CITY], [PRIVICE], [IMAGE], [PHONE], [BIRTH] FROM [userInfor]">
<InsertParameters>
<asp:ControlParameter ControlID="user" Name="userid" PropertyName="Text" />
<asp:ControlParameter ControlID="username" Name="username" PropertyName="Text" />
<asp:ControlParameter ControlID="pass" Name="pass" PropertyName="Text" />
<asp:ControlParameter ControlID="sex" Name="sex" PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="shi" Name="city" PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="sheng" Name="privice" PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="image" Name="image" PropertyName="Text" />
<asp:ControlParameter ControlID="num" Name="phone" PropertyName="Text" />
<asp:ControlParameter ControlID="data" Name="birth" PropertyName="SelectedDate" />
<asp:ControlParameter ControlID="email" Name="email" PropertyName="Text" />
<asp:ControlParameter ControlID="mailPass" Name="mailpass" PropertyName="Text" />
<asp:ControlParameter ControlID="mailName" Name="mailname" PropertyName="Text" />
</InsertParameters>
</asp:SqlDataSource>
</form>
</body>
C#
namespace email
{
public partial class resginPage : System.Web.UI.Page
{
protected void Page_Load(object sender,EventArgs e)
{
UnobtrusiveValidationMode = UnobtrusiveValidationMode.None;
if (IsPostBack)
{
}
}
//省市级联部分
protected void add(object sender,EventArgs e)
{
int index = sheng.SelectedIndex;
string[][] citys = new string[4][]{ new string[]{ "湖南省", "长沙市", "石门市", "武冈市" },
new string[]{"广东省", "广州市", "佛山市", "珠海市" },
new string[]{"湖北省", "武汉市", "黄冈市", "荆州市" },
new string[]{"江苏省", "南京市", "苏州市", "无锡市" } };
if (index == 0) return;
shi.Items.Clear();
shi.Items.Add("请选择");
for (int i = 1; i < citys[index - 1].Length; i++)
shi.Items.Add(citys[index - 1][i]);
}
//判断是否是163邮箱
protected int Is163(String s)
{
int i;
for ( i = 0; i < s.Length; i++)
{
if (s[i] == '@') {
break;
}
}
if (s.Substring(i+1, 3) =="163")
{
i = 1;
}
else {
i = 0;
}
return i;
}
//注册完成的点击事件包括文件上传,用户联系人表的创建,因为用户名id是主键,如果插入数据库成功则说明用户名唯一,否则注册失败
protected void bt1_Click(object sender,EventArgs e)
{
if (Page.IsValid)
{
string saveDir = @"\UserPhotos\";
string appPath = Request.PhysicalApplicationPath;
if (photo.FileName != "")
{
if (photo.HasFile)
{
string savePath = appPath + saveDir + photo.FileName;
photo.SaveAs(savePath);
}
}
String str = @"Data Source = (LocalDB)\MSSQLLocalDB; AttachDbFilename = C:\Users\asus\Documents\Visual Studio 2015\Projects\email\email\App_Data\DB.mdf; Integrated Security = True";
SqlConnection con =new SqlConnection(str);
try
{
con.Open();
SqlCommand cmd1 =new SqlCommand("create table " + user.Text +" (USERID nvarchar(50) primary key, USERNAME nvarchar(50),)", con);
cmd1.ExecuteNonQuery();
}
catch
{
}
finally
{
con.Close();
}
try
{
image.Text = photo.FileName;
SqlDataSource1.Insert();
Response.Redirect("~/LoginPage.aspx");
}
catch
{
image.Text = "用户名已存在!";
image.Visible = true;
}
}
}
protected void data_SelectionChanged(object sender,EventArgs e)
{
showData.Text = data.SelectedDate.ToLongDateString();
}
protected void visable_Click(object sender,EventArgs e)
{
data.Visible = false;
visable.Visible = false;
}
protected void CustomValidator1_ServerValidate(object source,ServerValidateEventArgs args)
{
if (Is163(email.Text) != 1)
{
args.IsValid = false;
email.Text = "";
}
else {
args.IsValid = true;
}
}
}