service.myservice.callService(showCode,"rsstring");'
不能在客户端执行!

解决方案 »

  1.   

    window.setTimeout('<%=service.myservice.callService(showCode,"rsstring")%>;',3000);
      

  2.   

    junsunchen(渴望高飞的人) :
    javascript里面可以写vb的东西吗?
      

  3.   

    没有正确理解 webservice.htc 文件。------------------------------------------
    第一步WebService.htc文件首先被附加在Web页面的一个元素里。HTML组件(WebService.htc)在内部使用SOAP同服务器上的Web服务进行通信。下面这一段HTML说明了如何使用样式属性把Web服务行为附加到HTML元素里。(如果你正在使用Visual Studio.NET IDE,那么就要打开.aspx页面并切换到HTML选项卡。)<div id=divWSBehavior style="behavior: url (webservice.htc)" onresult="GetData()" >
    Web服务行为被附加到了隐藏字段txtWSBehavior里。另一个重要的属性是onresult属性。当被调用的方法返回一个结果的时候,onresult事件被这个行为触发。这个属性指向GetData函数。在onresult事件被触发的时候,GetData就被调用,而且,在这个函数内部,返回的结果就成为可用的了。Onresult事件只对附加有Web服务行为的文档里的对象有效。以下是一个可能的GetData函数的模板:<script>function GetData() {if((event.result.error)&&(iCallID==event.result.id)) {var xfaultcode = event.result.errorDetail.code;var xfaultstring = event.result.errorDetail.string;alert("Error");} else{if (event.result.value == 0) {divWSBehavior.innerHTML = "Product By that name does not
    exist.";} else if(event.result.value == 0){divWSBehavior.innerHTML = "Error: " + xfaultstring;} else{divWSBehavior.innerHTML = event.result.value;} } }</script>
    事件对象可以通过这个函数来访问。这个对象只有在事件期间,也只有在事件句柄里才能够被使用。这里,GetData函数是一个事件句柄。事件对象公开了各种子属性。表A概述了每一个子属性,它们在这个特定的情形里对我们是很有用的。表A属性名称描述
     
    event.result.id
     它返回唯一一个和方法调用的实例相关联的标识符。
     
    event.result.value
     它返回的是方法调用的值。该值的数据类型由服务描述里对方法的定义来决定。
     
    event.result.error
     它返回一个布尔函数的真/伪值,用以指明方法的调用是否成功。
     
    event.result.errorDetail.code
     它返回一个错误码。
     
    event.result.errorDetail.string
     它返回一条错误信息。
     只有在错误发生的时候errorDetail对象才是可用的。div标签的innerHTML属性是根据返回的值来进行填充的。
     
     第二步你必须下载Webservice.htc文件并把它放置到Web页面的文件夹里(虚拟目录)。这一步其实是使用Web服务行为来增强安全的限制方法。HTC仅仅是个脚本,所以使用Web服务行为和在HTML页面里运行脚本是一样安全的。安全级别并不等同于ActiveX控件所提供的安全级别。在同一个Internet域里把HTC文件和Web服务作为HTML页面能够防止其他域使用这个服务。第三步在你能够更进一步使用Web服务之前,它必须使用useService方法来启动。做到这一点的理想方法是创建一个InitService函数,并调用主体标签onload事件里的InitService函数,见下面的代码。一旦页面的内容被载入,服务就被启动了。<script>
        function InitService( ){
        divWSBehavior.useService("http://localhost/ProductManager/Pricing.asmx?WSDL","ProductPrice");
        }
        </script>
        <body onload=”InitService()”>
        </body>
    第一个参数是通向带有?WSDL查询字串的Webservice路径。第二个参数是要被启动服务的友好名称。一旦被启动,这个友好名称可以被用作Web服务的参照。第四步一旦Web服务被启动,它就能被使用了。你可以像下面这样使用这项服务:function GetProductPrice( ) {
        var sProductName;
        sProductName = document.frmServer.txtGetPrice.value;
        iCallID = divWSBehavior.ProductPrice.callService("GetPrice",sProductName);
        }
    callService的第一个参数是Web服务内部的函数名。-------------------------------------------------------------------------------<%@ Page language="c#" %>
    <HTML>
    <HEAD>
    <title></title>
    <script language="javascript"> 
    var serviceCall ;
    function window_onload() 

    service.useService("./Service1.asmx?WSDL","myservice"); 
    serviceCall = service.myservice.callService("rsstring");
    } function onmyresult()
    {
    service.innerHTML = event.result.value ;
    window.setTimeout('serviceCall = service.myservice.callService("rsstring");',3000);
    }
    </script>
    </HEAD>
    <body onload="return window_onload()">
    <div id="service" style="BEHAVIOR: url(webservice.htc)" onresult="onmyresult()">
    </body>
    </HTML>-------------------------------------------
      

  4.   

    javascript里面可以写vb的东西吗?
    RE:
    可以的,他们之间可以通用,但是有时就出现小小问题,不过一般你在VB里写的函数可以在JAVASCRIPT里用的!反之也是