目的:
实现 Index.aspx 页面中 自己定义控件 UC1.ascx 中的 TextBox1 的值 传给自己定义控件 UC2.ascx 的 Label
效果图如下:
具体实现如下:
UC1.ascx
<%
@ Control Language
=
"
C#
"
ClassName
=
"
UC1
"
%>
< script runat ="server" >
public delegate void UC1ClickActionEventHandler(string text);
public event UC1ClickActionEventHandler GetTextBoxValue;
protected void Button1_Click(object sender, EventArgs e)
{
GetTextBoxValue(TextBox1.Text);
}
</ script >
自己定义控件一: < br />
< asp:TextBox ID ="TextBox1" runat ="server" ></ asp:TextBox >< br />
< asp:Button ID ="Button1" runat ="server" OnClick ="Button1_Click" Text ="Button1" />
< script runat ="server" >
public delegate void UC1ClickActionEventHandler(string text);
public event UC1ClickActionEventHandler GetTextBoxValue;
protected void Button1_Click(object sender, EventArgs e)
{
GetTextBoxValue(TextBox1.Text);
}
</ script >
自己定义控件一: < br />
< asp:TextBox ID ="TextBox1" runat ="server" ></ asp:TextBox >< br />
< asp:Button ID ="Button1" runat ="server" OnClick ="Button1_Click" Text ="Button1" />
UC2.ascx
<%
@ Control Language
=
"
C#
"
ClassName
=
"
UC2
"
%>
< script runat ="server" >
</ script >
自己定义控件二: < br />
< br />
< asp:Label ID ="Label1" runat ="server" Text ="Label" ></ asp:Label >
< script runat ="server" >
</ script >
自己定义控件二: < br />
< br />
< asp:Label ID ="Label1" runat ="server" Text ="Label" ></ asp:Label >
Index.aspx
<%
@ Page Language
=
"
C#
"
%>
<% @ Register Src = " UC1.ascx " TagName = " UC1 " TagPrefix = " uc1 " %>
<% @ Register Src = " UC2.ascx " TagName = " UC2 " TagPrefix = " uc2 " %>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< script runat ="server" >
protected void SetUC2Lable(string text)
{
((Label)UC2_1.FindControl( " Label1 " )).Text = text;
}
</ script >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > 二个自己定义控件之间的传值 </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
< uc1:UC1 ID ="UC1_1" runat ="server" OnGetTextBoxValue ="SetUC2Lable" />
< br />
将自定义控件一中TextBox1的值传到自定义控件二的Lable1
< br />
< br />
< uc2:UC2 ID ="UC2_1" runat ="server" />
</ div >
</ form >
</ body >
</ html >
<% @ Register Src = " UC1.ascx " TagName = " UC1 " TagPrefix = " uc1 " %>
<% @ Register Src = " UC2.ascx " TagName = " UC2 " TagPrefix = " uc2 " %>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< script runat ="server" >
protected void SetUC2Lable(string text)
{
((Label)UC2_1.FindControl( " Label1 " )).Text = text;
}
</ script >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > 二个自己定义控件之间的传值 </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
< uc1:UC1 ID ="UC1_1" runat ="server" OnGetTextBoxValue ="SetUC2Lable" />
< br />
将自定义控件一中TextBox1的值传到自定义控件二的Lable1
< br />
< br />
< uc2:UC2 ID ="UC2_1" runat ="server" />
</ div >
</ form >
</ body >
</ html >