如何使用 javascript 从 Web 服务重新加载项目集合

How to reload items collection from webservice using javascript

本文关键字:加载 集合 项目 新加载 javascript 何使用 Web 服务      更新时间:2023-09-26
绑定

到 Web 服务的RadDropDownList控件。加载时控件填充正常。但是我需要在模式窗口关闭后更新项目列表。
用于更新项目列表的 Javascript 函数:

function Templates_RequestData(){
     var dropdown = $find("<%= Me.RadDropDownTemplates.ClientID%>");
     javascript: console.log(dropdown.get_items());  //works ok
     //dropdown.requestItems("", false); - undefined is not a function
     //dropdown.reload(); - undefined is not a function
     //dropdown.clearItems(); - undefined is not a function
     javascript: console.log("reload");
  }

RadDropDownList 控件

<telerik:RadDropDownList ID="RadDropDownTemplates" runat="server"
    Skin="MetroTouch" Width="100%" DropDownWidth="200px" 
    AutoPostBack="false" 
    DefaultMessage=" - select template - "
    OnClientItemsRequesting="Templates_OnItemRequesting"
    SelectedValue='<%# Me.LastUsedTemplateID%>' >
    <WebServiceSettings Path="WebServices/Templates.asmx"
                        Method="GetAll"/>
</telerik:RadDropDownList>

我尝试的所有方法都会导致错误:

"未捕获的类型错误:未定义不是函数">

javascript: console.log(dropdown) - 返回类型为 RadDropDownList 的有效对象。来自 Telerik 的文档不包含任何使用 Web 服务更新项目的函数。
如何从客户端代码更新raddropdownlist

好的,因为我只需要在页面加载和模态窗口关闭后更新RadDropDownList列表。我决定手动制作。

我创建了一个调用Web服务的javascript函数,并从Web服务的结果中创建DropDownListItems并将它们添加到我的列表中。
然后在我RadDropDownListOnClientLoad 事件处理程序和 in OnClientClose 事件处理程序中调用此函数RadWindow