2010-01-12 46 views
2

我有一個用C#編寫的Telerik ajaxified頁面的用戶控件。我使用RadContextMenu編寫了一個上下文菜單,除了我的一個菜單項是「刷新」之外,一切正常。我怎樣才能從JavaScript中刷新我的用戶控件?基本上它需要一些如何強制TelerikAjaxManager刷新我的控制。從ASP.NET用戶控件執行方法

回答

1

使用RadAjaxManager的ajaxRequestWithTarget()方法向服務器提交Ajax請求。通過爲函數調用提供目標,RadAjaxManager將向服務器提交一個異步回發,通知服務器所提供的控件是回發的發起者。您可以添加上下文菜單項被點擊時,下面的事件處理程序:

function contextMenu_Refresh() { 
    var ajaxManager = $find('<%= RadAjaxManager.GetCurrent(this.Page).ClientID %>'); 
    ajaxManager.ajaxRequestWithTarget('<%= MyControl.ClientID %>'); 
} 

請記住,你還必須有線了在RadAjaxManager適當阿賈克斯的設置,這樣它會兌現你的要求更新從服務器返回響應時的​​控制權。

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> 
    <AjaxSettings> 
     <telerik:AjaxSetting AjaxControlID="MyControl"> 
      <UpdatedControls> 
       <telerik:AjaxUpdatedControl ControlID="MyControl" /> 
       <!-- Add other controls to be updated here --> 
      </UpdatedControls> 
     </telerik:AjaxSetting> 
    </AjaxSettings> 
</telerik:RadAjaxManager> 

希望這會有所幫助。

+0

ajaxRequestWithTarget('<%= MyControl.UniqueID%>'):-)此方法需要UniqueID,而不是ClientID。 – 2012-12-18 16:35:37

0

查看他們的ajaxRequestWithTarget()客戶端功能的文檔。它可以讓你模擬一個控件的回傳,比如你的菜單項。

相關問題