通过Web用户控件实现注册(用委托方法)

来源:互联网 发布:表格中数据降序 编辑:程序博客网 时间:2024/06/10 14:34

web用户控件界面代码(前台)

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl2.ascx.cs" Inherits="WebApplication1.WebUserControl2" %>

下面是jquery1.7包,直接引进来就可以了
<script src="Jquery1.7.js" type="text/javascript"></script>
<script type="text/javascript">
    function validator() {
        if ($('#WebUserControl21_txtUserName').val() == '') {
            $('#divusername').text('请输入用户名');
            return false;
        }
        if ($('#WebUserControl21_txtPwd').val() == '') {
            $('#divPwd').text('密码不能为空');
            return false;
        }
        if ($('#WebUserControl21_txtEmail').val() == '') {
            $('#divEmail').text('邮箱不能为空');
            return false;
        }
        if ($('#WebUserControl21_txtMobile').val() == '') {
            $('#divMobile').text('手机不能为空');
            return false;
        }
        if ($('#WebUserControl21_txtPwd').val() != $('#WebUserControl21_txtPwdOk').val()) {
            $('#divPwdOk').text('两次输入的密码不一致');
            return false;
        }
        return true;
    }
</script>
<table>
    <tr>
        <td>
            用户名
        </td>
        <td>
            <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
        </td>
        <td>
            <span id="divusername"></span>
        </td>
    </tr>
    <tr>
        <td>
            密码
        </td>
        <td>
            <asp:TextBox ID="txtPwd" runat="server"></asp:TextBox>
        </td>
        <td>
            <span id="divPwd"></span>
        </td>
    </tr>
    <tr>
        <td>
            确认密码
        </td>
        <td>
            <asp:TextBox ID="txtPwdOk" runat="server"></asp:TextBox>
        </td>
        <td>
            <span id="divPwdOk"></span>
        </td>
    </tr>
    <tr>
        <td>
            用邮箱户名
        </td>
        <td>
            <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
        </td>
        <td>
            <span id="divEmail"></span>
        </td>
    </tr>
    <tr>
        <td>
            手机
        </td>
        <td>
            <asp:TextBox ID="txtMobile" runat="server"></asp:TextBox>
        </td>
        <td>
            <span id="divMobile"></span>
        </td>
    </tr>
    <tr>
        <td>
            <asp:Button ID="Button1" runat="server" Text="注册"  OnClientClick="return validator()" onclick="Button1_Click" />
        </td>
        <td>
            <span id="divTotal" runat="server"></span>
        </td>
    </tr>
</table>

web用户控件后台

定义成公共的:

      public event InsertDelegate On_Insert;

然后在click事件里写代码:
              protected void Button1_Click(object sender, EventArgs e)
        {
            if (On_Insert != null)
            {
                if (On_Insert(txtUserName.Text, txtPwd.Text, txtEmail.Text, txtMobile.Text) == true)
                {
                    this.divTotal.InnerHtml = "注册成功";
                }
                else
                {
                    this.divTotal.InnerHtml = "注册失败";
                }
            }
        }
    }
    public delegate bool InsertDelegate(string username, string pwd, string email, string mobile);
}

在webform界面直接把用户控件引进来就可以了,就是下面的这句代码

  <uc1:WebUserControl2 ID="WebUserControl21" runat="server" />

在webform界面的后台写代码,下面是我没有用到数据库,就用记事本做例子吧

 protected void Page_Load(object sender, EventArgs e)
        {
            this.WebUserControl21.On_Insert += new InsertDelegate(MyRegeitser1_On_Insert);
        }

        bool MyRegeitser1_On_Insert(string username, string pwd, string email, string mobile)
        {
            return WriteTxt(username, pwd, email, mobile);
        }

      
        /// <summary>
        /// 将注册信息写入到记事本里
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="pwd">密码</param>
        /// <param name="email">邮箱</param>
        /// <param name="mobile">手机</param>
        /// <returns>确认是否写入成功</returns>
        private bool WriteTxt(string username, string pwd, string email, string mobile)
        {
            using (Stream stream = File.Open(@"d:\new.txt", FileMode.Append, FileAccess.Write))
            {
                using (StreamWriter writer = new StreamWriter(stream))
                {
                    writer.WriteLine("用户名:{0},密码:{1},邮箱:{2},手机:{3}", username, pwd, email, mobile);
                }
            }
            return true;
        }
        //将注册信息插入到  SQLSERVER数据库
        private bool WriteSqlServer(string username, string pwd, string email, string mobile)
        {
            return false;
        }
    }

最后,完成之后去d盘下找到自己创建的文件夹查看即可。

原创粉丝点击