AddRec.ascx(增加评论的用户控件。其中有Button提交内容)
ListRec.asxc(显示评论用户控件)
TestPage.aspx 页面
实现功能:
在添加完毕评论后,显示评论的数据自动刷新。
显示步骤
1 在AddRec 中增加一个委托 public AddRecHandler(此处是事件)
public EventHandler AddRecHandler;
2 在Button提交的时候,调用AddRecHandler。
public void BtnAdd_Click(object sender, EventArgs e)
{
try
{
if (this.kfcid != 0)
{
AddFC_Rec(this.kfcid);
AddRecHandler(sender, e);
}
else
{
Alert("请先保存客户资料");
}
}
catch (Exception ex)
{
Alert("增加沟通记录失败:" + ex.Message);
}
this.txtPhone.Value = "";
this.txtRec.Value = "";
}
{
try
{
if (this.kfcid != 0)
{
AddFC_Rec(this.kfcid);
AddRecHandler(sender, e);
}
else
{
Alert("请先保存客户资料");
}
}
catch (Exception ex)
{
Alert("增加沟通记录失败:" + ex.Message);
}
this.txtPhone.Value = "";
this.txtRec.Value = "";
}
3 ListRec 中有一个public的方法,获取评论。
public void GetAllRecByKFCID(int kfcid)
{
this.GridView1.PageIndex = 0;
List<Kfc_recInfo> list = Kfc_rec.GetbyKFCid(kfcid);
if (list != null)
{
GridView1.DataSource = list;
GridView1.DataBind();
}
}
{
this.GridView1.PageIndex = 0;
List<Kfc_recInfo> list = Kfc_rec.GetbyKFCid(kfcid);
if (list != null)
{
GridView1.DataSource = list;
GridView1.DataBind();
}
}
4 在 TestPage 的 PageLoad中注册 ,采用匿名方法注册在第3步中实现的方法
this.UCAddRec1.AddRecHandler += delegate(object o, EventArgs a)
{
this.UCKFRec1.GetAllRecByKFCID(kfcid);
};
{
this.UCKFRec1.GetAllRecByKFCID(kfcid);
};
附执行顺序: pageLoad -> UserControl Pageload -> Button Click
执行顺序导致如果不采用类似这样的办法,会导致需要重新刷新页面才能看到新加的数据。
感谢: CSDN网友 bwangel 提供代码和思路。