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

    xiaoxiao2021-03-25  141

    注册页面:

     

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

                }

            }

        }

    转载请注明原文地址: https://ju.6miu.com/read-1544.html

    最新回复(0)