其实是个加载顺序的问题
下面是主页面中的代码
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
try
{
wuc1.NId=Request["cid"].ToString();
}
catch
{
wuc1.NId="0";
}

//..省略其他代码
//动态加载wuc2
wuc2.MId=wuc1.BId;

                           //..省略其他代码
}主页面在page_load事件中为wuc1控件的NId赋值,wuc1控件在自己的page_load中生成BId的值wuc2控件是动态加载,在加载时需要为MId赋值,我不知道该在什么时候读取wuc1.BId赋值给wuc2.MId,上面的代码有问题

解决方案 »

  1.   

    不过我认为可以把wuc1.BId的值作为wuc2的一个属性,在加载时给属性赋值
      

  2.   

    解决办法,把wuc1的page_load方法重写,并且换成 public,然后在页面中再调用它的page_load事件里给wuc2赋值
      

  3.   

    执行顺序:
    PageLoad, Control.Pageload, ...如果是这样,你是否可以把生成BId的值提到NId付值的时候做
    这样你在为wuc2付值的时候wuc2的BId也就随之生成了。
      

  4.   

    NId目前我必须在wuc1控件page_load中做
      

  5.   

    cqzhangq(空空)
    的方法应该可以解决吧
      

  6.   

    mazekui(悠悠春竹)的方法可以,但是,这样一来我所有使用的wuc1的控件的页面都必须在页面的page_load中调用这个重写的方法
      

  7.   

    你加一个属性 在Usercontrol中Private _Name As string
        Public Property PageName()
            Get
                Return _Name
            End Get
            Set(ByVal Value)
                _Name= Value
            End Set
        End Property然后你把用户控件放入页面中 后在程序中 给用户控件属性 负值
      

  8.   

    http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpguide/html/cpconDevelopingUserControlsInCode-BehindFile.asp以编程方式创建用户控件的实例
      

  9.   

    问题已经解决,其实还是个顺序问题,我在wuc1中单独写了一个public的方法,用于生成wuc1.BId,这样在主页面的page_load中调用这个方法,将值付给wuc2.MId