привязки cfdiv - это отдельные запросы к CFC - состояние не кэшируется и не поддерживается между ними.Доступ к внутренним общим областям, таким как VARIABLES, заканчивается при возврате запроса.Вы должны создать / поддерживать это состояние вручную.
Шаг 1: Поместите свой CFC в тот же каталог, что и Application.cfc, который включает SessionManagement:
<cfset this.sessionManagement = true />
<cfset this.sessionTimeout = createTimeSpan(0,20,0,0) />
Шаг 2: Измените свой CFC такчто предполагаемая переменная, которая будет сохраняться между каждым отдельным запросом, находится в области SESSION:
<cfcomponent>
<cfset session.output = '' />
Шаг 3. Напишите свои функции так, чтобы вы читали / записывали эту область с состоянием:
remote function func(input){
session.output = arguments.input;
return session.output;
}
Шаг 4:
Придумайте, как ваш клиент может связать события onchange между DIV.Это может быть сделано любым количеством способов, но это должно быть сделано вами (это не автоматически). Самая быстрая отправная точка - обратиться к вашему предыдущему вопросу о привязке динамических событий к нескольким полям .
Стоит отметить, что использование CFC для обертывания области, подобной SESSION, должно быть абсолютно осторожным, используйте по возможности защиту (т. Е. StructKeyExists(SESSION,'output')
), поскольку различные типы запросов (веб-служба или служба) вызывают общий доступ.по-разному (или не полностью), и у вас также есть время ожидания для беспокойства.