我做了一个用户控件,做了一个属性,public string  XianShi
{
get
{
return xianshi;
}
set
{
xianshi =value;
}
}
然后在page_load函数中使Label1.Text =this.XianShi .ToString ();或Label1.Text =xianshi .ToString ();,在web页面中使用WebUserControl11=new WebUserControl1 ();
WebUserControl11.XianShi  ="sdfsfd";,可web页面用户控件中的label显示不出来调用时赋的值,这是怎么回事啊?大家帮忙啊!

解决方案 »

  1.   

    MyWebControl wuc = (MyWebControl)this.loadcontrol("路径/MyWebControl.ascx")
    wuc.XianShi  ="sdfsfd";
      

  2.   

    如果仍然不行,检查一下是否使用了IsPostBack
      

  3.   

    IsPostBack?是指把MyWebControl wuc = (MyWebControl)this.loadcontrol("路径/MyWebControl.ascx")
    wuc.XianShi  ="sdfsfd";放在if(!Page.IsPostBack){}段之中吗?
      

  4.   

    我刚才试了一下,把那个语句再放在if(!Page.IsPostBack){}内,还是不行,郁闷...  是怎么回事呢?赋值的顺序问题还是用户控件的问题呢?
      

  5.   

    如果用户控件不是动态加载的,就不一定要在IsPostBack里了吧
      

  6.   

    不好意思,你应该在页面上放一个panel,然后如下
    MyWebControl wuc = (MyWebControl)this.loadcontrol("路径/MyWebControl.ascx")
    wuc.XianShi  ="sdfsfd";
    panel1.control.add(wuc);
    相信你的代码也是可以的,只是没有使用panel
    另外在控件里面不要使用ispostback,否则刷新页面的时候,控件可能出不来。
      

  7.   

    我按楼上的做了,成功了耶!!十分感谢9728!!
    为什么必须加个panel才可以呢?能不能再指教一下啊
      

  8.   

    不一定要使用panel呀,这样也可以:MyWebControl wuc = (MyWebControl)this.loadcontrol("路径/MyWebControl.ascx")
    wuc.XianShi  ="sdfsfd";
    this.Controls.Add(wuc)
      

  9.   

    恩 果然两个方法都行
    这样controls.add一下有什么作用呢?