2010-12-15 47 views
0

我有一个自定义UserControl,显示一个模式弹出窗口(来自Ajax工具包)。该控件允许用户将注释添加到父页面显示在GridView中的客户记录中。使用ASP.NET ModalPopup控件时回发父页面

我无法强制父页面重新加载网格后,用户单击模式弹出“添加注释”按钮并关闭它。该笔记已正确添加到数据库中,但我必须手动刷新页面才能让它显示,而不是在保存并关闭弹出窗口时自动刷新。

回答

0

将注释添加到数据库后,可以使用委托在父页面中触发事件。

// Declared in Custom Control. 
// CustomerCreatedEventArgs is custom event args. 
public delegate void EventHandler(object sender, CustomerCreatedEventArgs e); 
public event EventHandler CustomerCreated; 

添加注释后,激活父页面事件。

// Raises an event to the parent page and passing recently created object. 
    if (CustomerCreated != null) 
    { 
     CustomerCreatedEventArgs args = new CustomerCreatedEventArgs(objCustomerMaster.CustomerCode, objCustomerMaster.CustomerAddress1, objCustomerMaster.CustomerAddress2); 
     CustomerCreated(this, args); 
    } 

在父页面中,实现所需事件以重新填充grdiview。

protected void CustomerCreated(object sender, CustomerCreatedEventArgs e) 
{ 
    try 
    { 
     BindGridView(); 
    } 
    catch (Exception ex) 
    { 
     throw ex; 
    } 
} 

对于您的情况,您不能使用任何自定义事件参数,并使用EventArgs类本身。

+0

工作奇迹。谢谢! – user543761 2010-12-15 19:16:46

相关问题