Kentico 12: изменить значение одного поля типа страницы на основе значения другого поля - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть пользовательский тип страницы с двумя полями, StateName и StateCode. Мне бы хотелось, чтобы при выборе значения в одном из этих полей значение другого поля менялось в соответствии.

Так, например, если я выберу «Алабама» в поле StateName, значение поля StateCode автоматически изменится на «AL». Или, если я выберу «CO» в поле StateCode, поле StateName автоматически изменится на «Колорадо» и т. Д. c. Возможно ли это?

State Fields

(Я должен сохранить их как два отдельных поля, потому что мне нужно отображать либо имя состояния, либо код состояния на внешнем интерфейсе в зависимости от поэтому я не могу использовать одно поле с параметрами, такими как AL;Alabama, потому что тогда поле возвращает только значение AL, и у меня нет возможности получить отображаемое имя Alabama).

Я знаю, что в Kentico есть опции для установки «зависимых» полей, но это только для определения видимости - например, отображать поле B, только если я выбираю конкретное значение в поле A. Я не могу найти способ действительно изменить выбранное значение в одном поле на основе выбранного значения в другом поле.

1 Ответ

0 голосов
/ 06 февраля 2020

Два контрольных решения здесь кажутся излишним. Вы можете использовать StateInfoProvider , чтобы получить то, что вы хотите.

StateInfo state = StateInfoProvider.GetStateInfo("Alabama")

Другой способ - использовать простой выпадающий элемент управления и использовать запрос, подобный следующему:

select stateCode + '|'+ StateDisplayName, StateDisplayName  from cms_State

, чтобы получить код и отобразить имя в виде значения, разделенного |

...