RadComboBox,ClientDataSource和WebMethod

时间:2019-06-03 07:32:30

标签: asp.net webforms telerik radcombobox

我使用RadComboBox,RadClientDataSource和WebMethod进行了最简单的配置。下面是代码:


<telerik:RadComboBox runat="server" EnableLoadOnDemand="true" Width="300"
        DropDownWidth="350" ClientDataSourceID="DriverDS" DataTextField="LastName"
        DataValueField="Id" ShowMoreResultsBox="true" />

<script type="text/javascript">
    function MapDriverParams(sender, args) {
        args.set_parameterFormat("{'forwarder': '1', 'filter':'abc'}");
    }

    function Parse(sender, args) {
        debugger;
    }
</script>

<telerik:RadClientDataSource runat="server" ID="DriverDS">
    <ClientEvents OnCustomParameter="MapDriverParams"  OnDataParse="Parse" />

    <DataSource>
        <WebServiceDataSourceSettings BaseUrl="WebForm1.aspx/" ServiceType="OData" >
            <Select Url="GetDrivers" DataType="JSON" RequestType="Post" ContentType="application/json; charset=utf-8"  />
        </WebServiceDataSourceSettings>
    </DataSource>
    <Schema DataName="d"  ResponseType="JSON" />
</telerik:RadClientDataSource>

而且,在Code-Behind中:


        [WebMethod(EnableSession = true)]
        public static DriverTest[] GetDrivers(long forwarder, string filter)
        {
            return new DriverTest[] { new DriverTest() { Id = 1, LastName = "Kowalski" }, new DriverTest() { Id = 2, LastName = "Nowak" } };
        }

        [Serializable]
        public class DriverTest
        {
            public long Id { get; set; }
            public string LastName { get; set; }
        }

现在-当我打开RadCombo时,什么也没发生: https://snag.gy/HBEaPL.jpg

控制台中没有显示错误。

当我在web方法中设置断点时-正确触发了断点,并传递了参数。在Fiddler中,我可以看到以JSON格式格式化的正确数据返回到浏览器。永远不会触发“解析”方法。

我在做什么错了?

0 个答案:

没有答案