Re[4]: JavaScripts в WebControl
От: Аноним  
Дата: 01.06.04 11:31
Оценка:
WebForm1.aspx:

<%@ Register TagPrefix="isdd" Namespace="Infosoft.WebControls" Assembly="Infosoft.WebControls.IsWebDropDown" %>
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="TestIsWebDropDown.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
    <HEAD>
        <title>WebForm1</title>
        <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
        <SCRIPT src="scripts/IsDropDown_Behavior.js"></SCRIPT>        
        <SCRIPT src="scripts/IsDropDown_DictData.js"></SCRIPT>
        <LINK href="css/IsWebComboBox.css" type="text/css" rel="stylesheet">        
    </HEAD>
    <body MS_POSITIONING="GridLayout">
        <form id="Form1" method="post" runat="server">
            <IsDD:IsWebDropDown id="IsWebDropDown1" runat="server"></IsDD:IsWebDropDown>
            <div id="WebService" style="BEHAVIOR: url(scripts/webservice.htc)" showprogress="true"></div>                        
        </form>
    </body>
</HTML>


HTML после отрисовки:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
    <HEAD>
        <title>WebForm1</title>
        <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
        <SCRIPT src="scripts/IsDropDown_Behavior.js"></SCRIPT>        
        <SCRIPT src="scripts/IsDropDown_DictData.js"></SCRIPT>                            
        <LINK href="css/IsWebComboBox.css" type="text/css" rel="stylesheet">        
    </HEAD>
    <body MS_POSITIONING="GridLayout">
        <form name="Form1" method="post" action="WebForm1.aspx" id="Form1">
            <input type="hidden" name="__VIEWSTATE" value="dDwxMjYxNzE3Mjg2Ozs+gItNUrcPZ1jx0QgBr+rse0mnZek=" />

            <div id="IsWebDropDown1" .....  структура объекта ..... </div>
            <div id="WebService" style="BEHAVIOR: url(scripts/webservice.htc)" showprogress="true"></div>                        
                    
            <script language="javascript">
                <!--
                    var IsWebDropDown =  new Array('IsWebDropDown1');
                // -->
            </script>

            <script> 
                IsWebDropDown_Init(); 
                {WebService.useService("http://sbob/WebService_Dictionary/WebService_Dictionary.asmx?WSDL","ISWebService_Dictionary");} 
                document.body.onload = init_ws; 

            </script>
        </form>
    </body>
</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 вылезают проблемы.

Спасибо за помощь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.