(论坛答疑点滴)如何在一个用户控件内操作另外一个用户控件的中的控件?

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

比如一个论坛,上面一个top用户控件用来登陆,下面一个buttom的用户控件用来显示在线人数,要求登陆以后立即刷新online中的在线人数,就需要在一个用户控件中操作另外一个用户控件中的控件(这2个用户控件都包含在一个页面中)

看过

http://www.cnblogs.com/lovecherry/archive/2005/03/25/125515.html

http://www.cnblogs.com/lovecherry/archive/2005/04/11/135543.html

的人应该马上就能知道怎么做,其实就是2者的结合。

比如创建2个用户控件WebUserControl1.ascx和WebUserControl2.ascx

后者放置一个Label(public System.Web.UI.WebControls.Label online)

2个用户控件拖放到页面中去,指定id:

<uc1:WebUserControl1 id="top" runat="server"></uc1:WebUserControl1>

<uc1:WebUserControl2 id="buttom" runat="server"></uc1:WebUserControl2>

前者内放置一个按钮,按钮的单击事件如下:

((WebUserControl2)((System.Web.UI.Page)System.Web.HttpContext.Current.Handler).FindControl("buttom")).online.Text="已经更新";

//首先是锁定到这个页面(System.Web.UI.Page)System.Web.HttpContext.Current.Handler

//然后从页面锁定到这个用户控件(WebUserControl2)((System.Web.UI.Page)System.Web.HttpContext.Current.Handler).FindControl("buttom")

//最后从这个用户控件锁定到用户控件内部的控件((WebUserControl2)((System.Web.UI.Page)System.Web.HttpContext.Current.Handler).FindControl("buttom")).online

测试一下,按下第一个用户控件中的按钮,第二个用户控件的Label改变了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航