当前位置:首页 > asp.net 2.0中不同web控件之间的相互调用

asp.net 2.0中不同web控件之间的相互调用

点击次数:909  更新日期:2010-12-26
\n

在asp.net 2.0中,要在不同的web控件之间互相调用,必须要<%@ Reference VirtualPath=”另一控件名称“>来引用,举例如下


\n


default.aspx:
<form id=”form1″ runat=”server”>
<uc1:WebUserControl id=”WebUserControl1″ runat=”server”>
</uc1:WebUserControl>
<uc2:WebUserControl2 ID=”WebUserControl2_1″ runat=”server” />
</form>


\n

我们要实现的是,按下控件1的按钮后,将在控件2的文本框中显示出指定的文本


\n

在首页里,分别调用了控件1和控件2


\n

webcontrol.ascx:


\n

<%@ Control Language=”C#” AutoEventWireup=”true” CodeFile=”WebUserControl.ascx.cs” Inherits=”WebUserControl” %>


\n

<%@ Reference VirtualPath=”~/WebUserControl2.ascx” %>


\n

<asp:Button ID=”Button1″ runat=”server” onClick=”Button1_Click” Text=”Button” />


\n

这里放置一个按钮,然后用reference来引用控件2


\n

webcontrol.ascx.cs:


\n

protected void Button1_Click(object sender, EventArgs e)
{


\n

WebUserControl2 w = Page.FindControl(“WebUserControl2_1″) as WebUserControl2;
w.Text = “Hello all!”;


\n

}


\n

对于控件2:


\n

<%@ Control Language=”C#” AutoEventWireup=”true” CodeFile=”WebUserControl2.ascx.cs” Inherits=”WebUserControl2″ %>


\n

<asp:TextBox ID=”TextBox1″ runat=”server”></asp:TextBox>
控件2的codebehind代码:
public partial class WebUserControl2 : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{


\n

}
public string Text
{


\n

set { TextBox1.Text = value; }


\n

}


\n

}


\n

来源:网络

\n