Web页面无法直接调用用户自定义控件里面的控件
定义事件
public event Errorinfo(委托名) On_errorinfo(事件名);
Web前台代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<uc1:用户注册控件1 ID="用户注册控件11" runat="server" />
</div>
</form>
</body>
</html>
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 注册1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.用户注册控件11.On_Insert += new InsertDelegate(用户注册控件11_On_Insert);
}
bool 用户注册控件11_On_Insert(string username, string pwd, string email, string mobile)
{
return WriteTxt(username,pwd,email,mobile);
}
//将注册信息存到文本文档中
private bool WriteTxt(string username, string pwd, string email, string mobile)
{
using(Stream stream=File.Open(@"D:\第四学期视频\2013-06-17\111.txt",FileMode.Append,FileAccess.Write))
{
using (StreamWriter write=new StreamWriter(stream))
{
write.WriteLine("用户名:{0},密码:{1}邮箱:{2}手机:{3}",username,pwd,email,mobile);
}
}
return true;
}
}
}
用户控件前台代码
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="用户注册控件1.ascx.cs" Inherits="委托.用户注册控件1" %>
<script src="Jquery1.7.js" type="text/javascript"></script>
<script type="text/javascript">
function validator() {
if ($('#用户注册控件11_txtUserName').val == '') {
$('#divusername').text('请输入用户名');
return false;
}
if ($('#用户注册控件11_txtPwd').val() == '') {
$('#divPwd').text('密码不能为空');
return false;
}
if ($('#用户注册控件11_txtEmail').val() == '') {
$('#divEmail').text('邮箱不能为空');
return false;
}
if ($('#用户注册控件11_txtMobile').val() == '') {
$('#divMobile').text('手机不能为空');
return false;
}
if ($('#用户注册控件11_txtPwd').val() != $('#用户注册控件11_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();" οnclick="Button1_Click" />
</td>
<td>
<span id="divTotal" runat="server"></span>
</td>
</tr>
</table>
用户控件后台代码
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 用户注册控件1 : 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);
}