ColdFusion <cfselect>Ошибка привязки - PullRequest
0 голосов
/ 17 июня 2011

Я пытаюсь заполнить раскрывающийся список на основе выбора пользователя, сделанного в предыдущем раскрывающемся списке.Оба раскрывающихся списка имеют одинаковую форму.Каждый раскрывающийся список должен быть заполнен двумерным массивом, содержащим информацию из базы данных, переданную в рамках функции (getClients) внутри компонента cfcomponent (EasySelection).Следующая ошибка появляется при попытке запустить страницу в моем браузере (последняя версия Firefox).Я также попытался заменить код атрибута bind следующим: «cfc: bindFcns.getClients ()» ..., в котором я получаю то же сообщение об ошибке.

Ниже приведено сообщение об ошибке:

The specified CFC EasySelection could not be found.
The path to the CFC must be specified as a full path, or as a relative path from the current template, without the use of mappings.

The error occurred in C:\workspaces\jackscotty\timecard.dev\webroot\timetotals\index.cfm: line 180
   178 : <td colspan="2">
   179 : <cfSELECT NAME="paramCompanyID" 
   180 : **bind="cfc:EasySelection.getclients()" bindOnLoad="true">**
   181 : <OPTION VALUE="-1" SELECTED>Any</OPTION>
   182 : </cfSELECT>

В случае, если это будет более полезно, вот мой код для EasySelection.cfc:

<cfcomponent output="false">
  <cffunction name="getclients" access="remote" returntype="array">
      <CFQUERY NAME="qGetClients" DATASOURCE="#application.DSN#">
          SELECT * FROM companies 
          WHERE clientflag = 1 
          ORDER BY company 
      </CFQUERY>
      <cfset count = 1 />
      <cfset clientresults = arraynew(2) />
      <cfloop query="qGetClients">
          <cfset clientresults[count][1]="#companyid#" />
          <cfset clientresults[count][2]="#companyid#" />
          <cfset count= count+1 />
      </cfloop>
      <cfreturn clientresults />
  </cffunction>
  <cffunction name="getprojects" access="remote">
      <cfargument name="companyid" type="string" required="yes" />
      <cfquery name="qGetProjects2" datasource="#application.DSN#">
          SELECT * FROM projects
          WHERE companyid = '#companyid#'
          ORDER BY companyid
      </cfquery>
      <cfset count = 1 />
      <cfset projectresults = arraynew(2) />
      <cfloop query="qGetProjects2">
          <cfset projectresults[count][1]="#projectid#" />
          <cfset projectresults[count][2]="#projectid#" />
          <cfset count= count+1 />
      </cfloop>
      <cfreturn projectresults>
  </cffunction>
</cfcomponent>

Ваша помощь оченьоценили!Спасибо за ваше время.

Ответы [ 2 ]

1 голос
/ 17 июня 2011

Ваш EasySelection cfc находится в каталоге timetotals? Как говорится в сообщении об ошибке, вам необходимо указать полный путь к CFC. Например, если ваш CFC находится в каталоге "cfcs" в корне вашего сайта, вы должны указать его как cfc: cfcs.EasySelection. Указав его как cfc: EasySelection ColdFusion проверит корневой каталог и текущий каталог "timetotals" в этом случае.

0 голосов
/ 18 июня 2011

Укажите полный путь вашего cfc.Если ваш EasySelection находится в папке CFC, то это должен быть cfc: cfc.EasySelection.Если вы работаете в локальном хосте с отдельным каталогом, вам может потребоваться написать что-то вроде cfc: [путь к папке вашего приложения] .cfc.EasySelection.

Короче говоря, вам нужно указать относительный путь cfc из корня вашего сайта..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...