读书-思考-总结  
我的菜园
两个用户控件,一个页面。
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 = "";
        
    }

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();
        }

            
}


4 在 TestPage 的 PageLoad中注册 ,采用匿名方法注册在第3步中实现的方法
 this.UCAddRec1.AddRecHandler += delegate(object o, EventArgs a)
        
{
            
this.UCKFRec1.GetAllRecByKFCID(kfcid);
        }
;

附执行顺序: pageLoad -> UserControl Pageload -> Button Click
执行顺序导致如果不采用类似这样的办法,会导致需要重新刷新页面才能看到新加的数据。

感谢: CSDN网友 bwangel  提供代码和思路。
posted on 2007-12-28 16:53  思考-总结  阅读(267)  评论(0编辑  收藏  举报