У меня самая простая конфигурация, с 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
В консоли не отображаются ошибки.
Когда я устанавливаю точку останова в веб-методе - она запускается правильно, и аргументы передаются.В Fiddler я вижу правильные данные, отформатированные в JSON, возвращенные в браузер.Метод "Parse" никогда не запускается.
Что я делаю не так?