当前位置: 代码迷 >> .NET组件控件 >> WEB用户控件控制引用页的有关问题
  详细解决方案

WEB用户控件控制引用页的有关问题

热度:176   发布时间:2013-02-25 00:00:00.0
WEB用户控件控制引用页的问题
建立了一个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)    {        ...    }  }
  相关解决方案