在asp.net 2.0中,要在不同的web控件之間互相調用,必須要<%@ reference virtualpath="另一控件名稱“>來引用,舉例如下
default.aspx:
<form id="form1" runat="server">
<uc1:webusercontrol id="webusercontrol1" runat="server">
</uc1:webusercontrol>
<uc2:webusercontrol2 id="webusercontrol2_1" runat="server" />
</form>
我們要實現的是,按下控件1的按鈕后,將在控件2的文本框中顯示出指定的文本
在首頁里,分別調用了控件1和控件2
webcontrol.ascx:
<%@ control language="c#" autoeventwireup="true" codefile="webusercontrol.ascx.cs" inherits="webusercontrol" %>
<%@ reference virtualpath="~/webusercontrol2.ascx" %>
<asp:button id="button1" runat="server" onclick="button1_click" text="button" />
這里放置一個按鈕,然后用reference來引用控件2
webcontrol.ascx.cs:
protected void button1_click(object sender, eventargs e)
{
webusercontrol2 w = page.findcontrol("webusercontrol2_1") as webusercontrol2;
w.text = "hello all!";
}
對于控件2:
<%@ control language="c#" autoeventwireup="true" codefile="webusercontrol2.ascx.cs" inherits="webusercontrol2" %>
<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)
{
}
public string text
{
set { textbox1.text = value; }
}
}
新聞熱點
疑難解答
圖片精選