首页 > 开发 > 综合 > 正文

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

2024-07-21 02:15:50
字体:
来源:转载
供稿:网友
  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • 比如一个论坛,上面一个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改变了。
    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表