如何使用javascript从webservice重新加载项目集合

时间:2015-03-29 23:33:31

标签: javascript asp.net telerik

RadDropDownList控件绑定到webservice。在加载控件填充确定。但是我需要在模态窗口关闭后更新项目列表 用于更新项目列表的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>

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

  

“未捕获的TypeError:undefined不是函数”

javascript: console.log(dropdown) - 返回RadDropDownList类型的有效对象。 Telerik的文档不包含使用webservice更新项目的任何功能 如何从客户端代码更新raddropdownlist

1 个答案:

答案 0 :(得分:0)

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

我创建了一个调用webservice的javascript函数,并从webservice的结果创建DropDownListItems并将它们添加到我的列表中。
然后在OnClientLoad的{​​{1}}事件处理程序和RadDropDownList的{​​{1}}事件处理程序中调用此函数