如何使用telerik:RadAjaxManager更新特定事件的控件

时间:2013-02-25 15:52:30

标签: telerik telerik-grid

我是telerik控件的新手。

我正在使用以下代码来异步更新控件。

 <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" DefaultLoadingPanelID =  "RadAjaxLoadingPanel1">

    <AjaxSettings>
        <telerik:AjaxSetting EventName="OnSelectedIndexChanged" AjaxControlID="grd_optnandprcng">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="Req_items"></telerik:AjaxUpdatedControl>                    
            </UpdatedControls>
        </telerik:AjaxSetting>
    </AjaxSettings>
</telerik:RadAjaxManager>

正如我的代码所示,我只想更新控件 Req_items (rad gridview)仅 onSelectedIndexChanged 事件 grd_optnandprcng (rad gridview)

但它不起作用。它对radgridview的每个事件进行更新控制。

任何人都有任何想法来解决此问题。 感谢。

1 个答案:

答案 0 :(得分:2)

是的,你肯定能做到这一点。试试这个:

  1. 在SelectedIndexChanged事件中调用javascript:

    <asp:GridView ID="grd_optnandprcng" runat="server" AutoGenerateColumns="False"   
               OnSelectedIndexChanged="myGrid_SelectedIndexChanged">
    
  2. 从javascript,使用RadAjaxManager发出ajax请求:

    function myGrid_SelectedIndexChanged(){
        $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("RefreshReqItems");
    }
    
  3. 不要忘记修改RadAjaxManager:

    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" 
               DefaultLoadingPanelID="RadAjaxLoadingPanel1"
               OnAjaxRequest="RadAjaxManager1_AjaxRequest">
       <AjaxSettings>
           <telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
                  <UpdatedControls>
                       <telerik:AjaxUpdatedControl ControlID="Req_items">
                       </telerik:AjaxUpdatedControl>                    
                 </UpdatedControls>
           </telerik:AjaxSetting>
       </AjaxSettings>
    </telerik:RadAjaxManager> >
    
  4. 做任何你需要做的事情来刷新你的物品:

    protected void RadAjaxManager1_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
    {
        if (e.Argument.Equals("RefreshReqItems"))
        {
            //Refresh something or rebind something else.
        }
    }