Разрабатываю Control и столкнулся со следующей проблемой:
Для работы контрола подключается файл js, с набором функций.
<SCRIPT src="scripts/Behavior.js"></SCRIPT>
Так вот в момент отрисовки aspx сраницы некоторые функции начинают
выполняться , и вываливать ошибки.
Ставлю debugger начале js скрипта и действительно под отладчиком
видно как он заходит в некоторые функции и начинает их выполнять,
примечательно, то что если debugger ставить непосредственно в функции,
то отладчик не останавливается на нем.
Ни каких вызовов функций ни где не прописано.
Может кто сталкивался?
P.S.
Если взять преобразованый aspx код (код после отрисовки страницы),
и сделать из него простой HTML документ то все работает отлично!
В IsWebDropDown_Init(); нет обрашеий к функциям из IsDropDown_DictData.js.
Да и если убрать вызов ситуация не меняется.
Скрипт IsDropDown_DictData.js.
DictData_InitGuid не трогает,а на DictData_GetCountRows выдает ошибку:
"Ошибка выполнения Microsoft JScript: "WebService" — определение отсутствует", указывая на строку
"callObj.funcName = "Dict_GetCountRows";" Такое чувство что еще и отладчик позиционируется некорректно.
/// Инициализация справочника( получение dict_sGUID )
function DictData_InitGuid()
{
// Преобразуем данные
var dict_Id_BA = code(this.dict_Id);
var dict_Param1_BA = code(this.dict_Param1);
var dict_Param2_BA = code(this.dict_Param2);
var dict_Param3_BA = code(this.dict_Param3);
// Вызовем метод сервиса
callObj = new Object();
callObj.async = false;
callObj.funcName = "Dict_Init";
callObj = WebService.ISWebService_Dictionary.callService(callObj, dict_Id_BA, dict_Param1_BA, dict_Param2_BA, dict_Param3_BA);
// Получаем данные
if (callObj.errorDetail != undefined){
DictData_OnError( callObj.errorDetail );
}
else {
this.dict_sGUID = callObj.value;
}
}
/// Получаем количество записей
function DictData_GetCountRows()
{
this.countRows = 0;
// Вызовем метод сервиса
callObj = new Object();
callObj.async = false;
callObj.funcName = "Dict_GetCountRows";
callObj = WebService.ISWebService_Dictionary.callService(callObj, this.dict_sGUID );
// Получаем данные
if (callObj.errorDetail != undefined){
DictData_OnError( callObj.errorDetail );
}
else {
this.countRows = callObj.value;
}
}
Еще раз отмечу что если взять HTML код, то все отрабатывает нормально,
а при запуска aspx вылезают проблемы.
Здравствуйте, Gollum, Вы писали:
G>Там стандартный вебсервис бихевиор от MS
Так может в нем проблема?
Re[8]: JavaScripts в WebControl
От:
Аноним
Дата:
02.06.04 08:08
Оценка:
Ура!
Удалось поймать причину этого глюка,
в результате которого у Visual Studio сносило крышу.
Пересохранил JS скрипты в UTF-8 (были ANSI) и все заработало.
Причем пропали и глюки alert("c русским сообщением"), и вложенные if'ы без скобок.
html'ки, сохраненные вручную, отрабатывали так как они тоже были в ANSI, а при
отрисовки aspx, видно html генериться в юникоде.
Visual Studio настойчиво сохраняет html в ANSI.
Интерестно, где этим можно управлять.
И вообще, как и в какой кодировке правильнее организовывать скрипты в проекте?
Все в одной, можно в различных и при вызове указывать(где и как)?