【问题标题】:Postback parent page when using an ASP.NET ModalPopup control使用 ASP.NET ModalPopup 控件时的回发父页面
【发布时间】:2010-12-15 18:44:03
【问题描述】:

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

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

【问题讨论】:

    标签: ajaxcontroltoolkit modalpopupextender webforms


    【解决方案1】:

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

    // 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 类本身。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-20
      • 1970-01-01
      • 1970-01-01
      • 2013-11-09
      • 2011-05-04
      • 1970-01-01
      • 2011-08-09
      • 2018-06-18
      相关资源
      最近更新 更多