我写了一个用户控件并且带有两个属性,但是我不想在页面加载的时候运行它,我想在调用test()方法时在这个方法中运行,应该怎么实现??

解决方案 »

  1.   

    举个例子,对你应该有启发
    怎样在页面和页面的用户控件进行交互 
    有的时候想在页面中调用这个页面的用户控件的方法 
    有的时候想在页面中设置这个页面的用户控件中的控件的值 
    下面是解决方案 
    首先建立一个用户控件uc.ascx 
    放置一个Label并且设置它的值为test 
    this.Label1.Text="test";//需要申明为public 
    在这个用户控件内加入一个方法 
    public void aa() 
      { 
       this.Label1.Text="在页面中调用这个页面的用户控件的方法成功"; 
      } 
    创建一个webform导入这个用户控件 
    <%@ Register TagPrefix="aa" TagName="bb" Src="uc.ascx" %> 
    在页面中包含 
    <aa:bb id="top" runat="server"></aa:bb> 
    页面中放置两个按钮 
    第一按钮事件中加入 
    ((uc)this.FindControl("top")).Label1.Text="在页面中设定用户控件中控件的值成功";//这个Label1是用户控件中的Label 
    第二个按钮的事件中加入 
    ((uc)this.FindControl("top")).aa(); 以上2个按钮分别完成前面说的2个操作。上面代码中uc为用户控件的类名(也就是用户控件的名字)如果不在同一个命名控件,前面加上命名控件的名字。
      

  2.   

    谢谢fphuang(人在哈尔滨),我可能没有说清楚,我再a页面中引入了用户控件
    <%@ Register TagPrefix="uc4" TagName="PostLeftMenu"Src="/Controls/PostLeftMenu.ascx" %>
    <uc4:PostLeftMenu id="UcLeftMenu" runat="server"></uc4:PostLeftMenu>
    这个空间有两个属性
    在a页面中有一个方法test()
    我想在调用test()方法时运行UcLeftMenu这个用户控件,应该怎么写?
      

  3.   

    你的意思是要运行UcLeftMenu用户控件中的方法还是指加载其本身。