简单的asp.net模拟邮箱系统基础实现(二 (1)具体版块功能的实现及关键代码之注册页面)

注册页面:

 

<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;

            }

        }

    }


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值