2013-11-13 2 views
0

У меня возникли проблемы с возвратом действительных данных со следующим JSON. Когда я связываюсь, я возвращаюсь «неопределенным», вероятно, из-за формата. Мне нужно привязать два DDL к следующим данным. Один связывается с StreetsInTown и другой StreetNumsOnStreet:Как связать с JSON и заполнить Kendo DropDownLists

{ 
    "StreetsInTown": "[{\"Street\":\"AARON RD\"},{\"Street\":\"ACCESS RD\"},,{\"Street\":\"WILSON ST\"},{\"Street\":\"WINDSOR ST\"},{\"Street\":\"WOOD TER\"},{\"Street\":\"WOODLAND AVE\"},{\"Street\":\"ZOLAN DR\"}]", 
    "StreetNumsOnStreet": "[{\"Street_Num\":\"18\"},{\"Street_Num\":\"19\"},{\"Street_Num\":\"26\"},{\"Street_Num\":\"27\"},{\"Street_Num\":\"32\"},{\"Street_Num\":\"39\"},{\"Street_Num\":\"43\"},{\"Street_Num\":\"44\"},{\"Street_Num\":\"55\"},{\"Street_Num\":\"66\"}]" 
} 

Рабочий процесс:

  1. Пользователь выбрал город с DDL1, результат создает "StreetsInTown" строку.
  2. Заполните DDL2 строкой «StreetsInTown».
  3. Выберите улицу с DDL2, в результате создается строка «StreetNumsOnStreet».
  4. Заполните DDL3 строкой «StreetNumsOnStreet».

У меня есть контроль над созданием JSON. Поэтому, если предлагается лучший формат, я могу настроить конечную точку REST. Fyi, я использую javascript, без модели. Заранее спасибо!

+0

Я считаю, что мне нужно сделать JSON.parse(), чтобы получить «StreetsInTown.Street» для заполнения DDL2, но не знаю, как это сделать. – ripsin

ответ

0

Можете ли вы использовать первичный ключ из своей базы данных для идентификации улиц и номеров улиц? У меня есть несколько падений, которые каскадом через ajax. Я сериализовать C# IEnumerable и данные поступают обратно, как это:

[{ "Selected": ложь, "Текст": "Майк Даурия", "Значение": "4347"}, { "Selected" ложь, «Текст»: «Шон Келли», «Значение»: «4348»}]

Значение является PK из базы данных и текста является имя, которое я хочу показать в выпадающем списке.

Kendo позволяет указать, с какими свойствами вы привязаны. В моем случае я говорю, что «Текст» - это текст, а значение «Значение» - это значение.

Если у вас нет/требуется ПК, попробуйте установить оба свойства. {text = "AARON RD"} и в Kendo do dataTextField: "text", dataValueField: "text".

+0

Нет, ПК, поскольку я использую данные, созданные с помощью представления SQL. Я установил dataTextField и dataValueField в значение = "StreetsInTown.Street", как @OnaBai упоминает [здесь] (http://stackoverflow.com/questions/19764314/proper-binding-of-json-to-kendo-dropdownlist/19765829# 19765829), но все равно не повезло. – ripsin