2010-01-12 82 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()客户端功能的文档。它可以让你模拟一个控件的回传,比如你的菜单项。