需求:当用户控件中保存完成数据之后,刷新宿主页面的数据列表并且要是异步刷新
解决方案:当点击用户控件中的Save按钮后,刷新宿主页面的列表A, 首先我们需要用updatePanel将列表A包裹,然后只要想办法当点击完save按钮之后去刷新updatepanel即可,但是在宿主页面我们无法直接通过配置updatepanel的triggle去和用户中的save按钮挂接,而且即使可以挂接,但是我们还需要通过save按钮去更新宿主页面,也是十分麻烦,但是这是只要用户控件可以抛出一个事件,而我们只需要在宿主页面实现这个事件即可完成刷新,而且updatepanel也可以直接和用户控件所跑出来的事件挂钩。只要这个事件由save按钮触发即可。我们的问题也就解决了。
如何创建抛出事件代码如下:
Code
//控件中的代码
public delegate void ClickEventHandler(object sender, EventArgs e);
public event ClickEventHandler Click;
protected void btnSave_Click(object sender, EventArgs e)
{
//这里可以实现本身的业务,入保存信息
if(Click!=null)
{
Click(this,e);//抛出该事件,然后执行宿主页面实现的事件
}
}
//宿主页面
this.ucCompanyInfor.Click += new Pages_CompanyProfile_CompanyInforamtion.ClickEventHandler(ucCompanyInfor_Click);
protected void ucCompanyInfor_Click(object sender, EventArgs e)
{
BindLeftDataSource();//刷新宿主页面的列表
}
//