建立了一个WEB用户控件.里面包括一个BUTTON.然后点击这个BUTTON想控制引用页上面的girdview的显示或隐藏..
我原来用的方法是在web用户控件中建了一个属性.是girdview类型.然后在引用页的page_load事件中设置这个属件的值为引用页的dairview控件,在第一个点击的时候可以使用.第二个点击的时候就提示实例未创建..
请问我这方法哪里有问题.或者有什么别的方法.第一次使用WEB用户控件,还不太了解.
------解决方案--------------------------------------------------------
page_load的事件在页面中只执行一次,再次执行要刷新页面
------解决方案--------------------------------------------------------
最好使用事件方式,通知页面隐藏或显示gridview
不好的方式
public class yourpage:page
{
public void showview(bool bshow)
{
this.gridview1.visible = bshow;
}
}
public class youracxs:usercontrol
{
protected void button1_click(....)
{
yourpage yp = this.page as yourpage;
if( yp != null )
yp.showview(true);
}
}
------解决方案--------------------------------------------------------
- C# code
public class yourascx:usercontrol{ public delegate mybuttonclick( bool bv ); public event buttonclick; ... protected void button1_click( object sender , EventArgs e ) { if( buttonclick != null ) { bool 条件= 具体情况; buttonclick(条件); } } }public class yourpage: page{ protected override void OnInitComplete(EventArgs e) { base.OnInitComplete(e); this.yourascx.buttonclick += new WebUserControl.mclick(yourascx1_buttonclick); } void yourascx_buttonclick(bool b) { ... } }