Причина, по которой это происходит, заключается в том, что ожидаемое значение для имен равно:
Необязательный массив меток опций, которые соответствуют 1-1 значениям опций. Это полезно, если значение, заданное в параметрах, и значение не являются строками, а вместо этого устанавливают некоторые базовые данные в бэкэнде. Например, если значение и параметры привязаны к записи, это можно использовать для отображения пользователю определенного поля записи.
Итак, первое, что нужно принять во внимание, какова привязка опций выпадающего меню? Я предполагаю, что это будет
@datasource.Employees.items
.
Если это так, то следующее, что мы должны принять во внимание, это то, что вам нужно предоставить массив, который точно соответствует количеству элементов, которые есть в опциях. К сожалению, это не тот случай, когда вы выполняете связывание так, как вы это делаете,
@datasources.Employees.item.last_name + ", " + @datasource.item.Employees.first_name
Вы предоставляете только один элемент вместо массива, и это приведет к неожиданным результатам в зависимости от того, как настроены ваши источники данных. Однако, когда вы делаете это через клиентский скрипт, вы помещаете элементы в этот массив и сопоставляете длину элементов источника данных параметров, следовательно, это работает.
Подход, который вы используете, хорош, за исключением того, что вам придется перезагружать источник данных каждый раз, когда происходят изменения. Лучший способ сделать это - следовать ответу Маркуса Малессы . Таким образом, вы предоставляете массив элементов, которые соответствуют 1-1 значениям параметра , и нет необходимости перезагружать источник данных каждый раз, когда происходят изменения.