2013-02-25 85 views
2

我是telerik控件的新手。如何使用telerik更新特定事件的控件:RadAjaxManager

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

<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的每个事件都进行更新控制。

任何人都有任何想法来解决这个问题。 谢谢。

回答

2

是的,你一定可以做到这一点。试试这个:

  1. 调用JavaScript的SelectedIndexChanged事件:

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

    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. 
        } 
    }