在项目中添加Web窗体和web用户控件。
Web用户控件前台:
代码;(ps:都只是验证的不为空,密码一致)
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MyRegister.ascx.cs"
Inherits="委托的简单应用.MyRegister" %>
<script src="js/Jquery1.7.js" type="text/javascript"></script>
<script type="text/javascript">
function validator() {
if ($('#MyRegister1_txtUserName').val() == '') {
$('#divusername').text('请输入用户名');
return false;
}
if ($('#MyRegister1_txtPwd').val() == '') {
$('#divPwd').text('密码不能为空');
return false;
}
if ($('#MyRegister1_txtEmail').val() == '') {
$('#divEmail').text('邮箱不能为空');
return false;
}
if ($('#MyRegister1_txtMobile').val() == '') {
$('#divMobile').text('手机不能为空');
return false;
}
if ($('#MyRegister1_txtPwd').val() != $('#MyRegister1_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用户控件后台:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace 委托的简单应用
{
public partial class MyRegister : System.Web.UI.UserControl
{
public event InsertDelegate On_insert;
protected void Page_Load(object sender, EventArgs e)
{
}
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);
}
}
Web窗体添加对Web用户控件的引用其后台:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
namespace 委托的简单应用
{
public partial class WebForm2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.MyRegister1.On_insert += new MyRegister.InsertDelegate(MyRegister1_On_insert);
}
bool MyRegister1_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;
}
}
}