用户控件属性设置值不能传过去的问题
我做了一个用户控件,做了一个属性,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显示不出来调用时赋的值,这是怎么回事啊?大家帮忙啊!
问题点数:20、回复次数:10Top
1 楼9728(生菜种子)回复于 2004-10-07 10:49:17 得分 3
MyWebControl wuc = (MyWebControl)this.loadcontrol("路径/MyWebControl.ascx")
wuc.XianShi ="sdfsfd";Top
2 楼9728(生菜种子)回复于 2004-10-07 10:50:09 得分 3
如果仍然不行,检查一下是否使用了IsPostBackTop
3 楼Yangtzeliuyang2004()回复于 2004-10-07 10:59:21 得分 0
IsPostBack?是指把MyWebControl wuc = (MyWebControl)this.loadcontrol("路径/MyWebControl.ascx")
wuc.XianShi ="sdfsfd";放在if(!Page.IsPostBack){}段之中吗?
Top
4 楼Yangtzeliuyang2004()回复于 2004-10-07 11:10:48 得分 0
我刚才试了一下,把那个语句再放在if(!Page.IsPostBack){}内,还是不行,郁闷... 是怎么回事呢?赋值的顺序问题还是用户控件的问题呢?Top
5 楼tianjue0921(天珏)回复于 2004-10-07 13:21:48 得分 2
没见过只能帮顶了Top
6 楼penniless(开心)回复于 2004-10-07 14:46:39 得分 2
如果用户控件不是动态加载的,就不一定要在IsPostBack里了吧
Top
7 楼9728(生菜种子)回复于 2004-10-07 17:24:03 得分 5
不好意思,你应该在页面上放一个panel,然后如下
MyWebControl wuc = (MyWebControl)this.loadcontrol("路径/MyWebControl.ascx")
wuc.XianShi ="sdfsfd";
panel1.control.add(wuc);
相信你的代码也是可以的,只是没有使用panel
另外在控件里面不要使用ispostback,否则刷新页面的时候,控件可能出不来。
Top
8 楼Yangtzeliuyang2004()回复于 2004-10-07 19:27:38 得分 0
我按楼上的做了,成功了耶!!十分感谢9728!!
为什么必须加个panel才可以呢?能不能再指教一下啊Top
9 楼cancersyf(fengzhimei)回复于 2004-10-07 21:24:31 得分 5
不一定要使用panel呀,这样也可以:
MyWebControl wuc = (MyWebControl)this.loadcontrol("路径/MyWebControl.ascx")
wuc.XianShi ="sdfsfd";
this.Controls.Add(wuc)Top
10 楼Yangtzeliuyang2004()回复于 2004-10-07 22:10:24 得分 0
恩 果然两个方法都行
这样controls.add一下有什么作用呢?Top





