【问题标题】:Update a User Control from another User Control via AJAX通过 AJAX 从另一个用户控件更新用户控件
【发布时间】:2011-03-14 07:46:19
【问题描述】:

也许我有脑子放屁什么的,因为这看起来应该很简单,但是如何通过 Ajax 从另一个用户控件更新用户控件?

我有一个带有两个用户控件的 ASPX 页面,当我在一个上触发服务器端事件时,我想刷新另一个上的网格,以便更新它的数据。

如果有帮助,我正在使用 Telerik 控件。第一个用户控件上的复选框事件导致第二个用户控件中的 RadGrid 重新绑定(),我在 ASPX 页面中有 RadAjaxManager,在两个用户控件中有 RadAjaxManagerProxy。

【问题讨论】:

    标签: ajax user-controls telerik


    【解决方案1】:

    首先对我来说Page.DataBind() 不适合我。

    我在UserControl声明

    // Declare a delegate
    public delegate void save_CommandEventHandler ();
    
    //Event
    save_CommandEventHandler SaveViewChanged public event;
    
    // I run SaveViewChanged() from a click_button but it can run from anywhere
    protected void save_Click (object sender, EventArgs e)
    {
        UpdateDataInDatabase();
    
        SaveViewChanged ();
    }
    

    page.aspx.cs代码中

    protected override void OnInit (EventArgs e)
    {
        base.OnInit (e);
    
        // UserControle1 is the Id of your UserControl declared in Aspx Page
        UserControle1.SaveViewChanged + =
           New UserControle.save_CommandEventHandler
           (Save_CommandEventHandler);
    }
    
    private void save_CommandEventHandler () {
        // Reload the gridView gvExpence to see the change operated in the user control
        gvExpence.DataSource =DataAcces.getAllCompanyExpence ();
        gvExpence.DataBind ();
    
        // update user control 2
        usercontrol2.updateView();
    }
    

    【讨论】:

      【解决方案2】:

      异步回调将更新导致回发的控件及其更新面板的任何父控件。如果您的数据网格在事件发生后没有在浏览器中更新,则表明它的更新方法没有被调用

      尝试在checkbox事件中调用datagrids updatepanel的.update方法

      【讨论】:

      • 你知道我在哪里可以看到这个实现的例子吗?
      【解决方案3】:

      您可以尝试使用 AjaxManager 的 ajaxRequestajaxRequestWithTarget 客户端方法来启动 ajax 调用。关于这些方法的更多信息可以在 Telerik 的在线文档中找到:http://www.telerik.com/help/aspnet-ajax/ajxclientsideapi.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多