DataConnSQL.Open();应该加括号。js的方法都带括号的

解决方案 »

  1.   

    测试结果说明,如果相同语言,先执行该页面代码,再继续执行script标签,否则先执行script标签,再继续执行该页面代码
    测试数据
    dataconnSQL.jsvar str="js";
    Response.Write("["+str+"]");testjs.asp
    <%@ Language="javascript"%>
    <HTML>
    <HEAD>
    <script runat=server language="javascript" src="dataconnSQL.js"></script>
    <meta content="Microsoft Visual Studio.NET 7.0" name="GENERATOR">
    </HEAD>
    <body>
    <% Response.Write("{"+str+"}")%>
    </body>
    </HTML>testvbs.asp
    <%@ Language="VBScript"%>
    <HTML>
    <HEAD>
    <script runat=server language="javascript" src="dataconnSQL.js"></script>
    <meta content="Microsoft Visual Studio.NET 7.0" name="GENERATOR">
    </HEAD>
    <body>
    <% Response.Write("{"+str+"}")%>
    </body>
    </HTML>测试结果:
    testjs.asp
    {undefined} [js]
    testvbs.asp
    [js] {js}
      

  2.   

    <script runat=server language="javascript" src="dataconnSQL.js"></script>次句中的runat=server是什么意思?是说js能在服务器端执行吗!!!
      

  3.   

    在脚本语法中,有RUNAT参数,表示该脚本是运行在服务器上还是客户机上。如果有RUNAT=SERVER则脚本运行在服务器上,由ASP解释程序来解释执行,并将结果传递给WWW服务器;否则就是运行在客户机上,由浏览器的脚本虚拟机解释执行,这时,和一般的脚本没有区别。所以,一定要注意ASP语法中的命令,如:REQUEST,QUERYSTRING,WRITE等命令或对象必须在具备RUNAT参数的脚本运行;而访问HTML的FORM对象的脚本一定没有RUNAT参数,因为HTML的FORM是客户机方面的对象,服务器无法访问。
      

  4.   

    ---dataconnSQL.js
    function dataconn(){
    str="js";
    Response.Write("["+str+"]");
    }
    -----testjs.asp
    <%@ Language="javascript"%>
    <%var str;%>
    <HTML><HEAD>
    <script runat=server language="javascript" src="dataconnSQL.js"></script>
    <meta content="Microsoft Visual Studio.NET 7.0" name="GENERATOR">
    </HEAD><body>
    <% dataconn();
    Response.Write("{"+str+"}");%>
    </body></HTML>
    ---testVbs.asp
    <%@ Language="VBScript"%>
    <%dim str%>
    <HTML><HEAD>
    <script runat=server language="javascript" src="dataconnSQL.js"></script>
    <meta content="Microsoft Visual Studio.NET 7.0" name="GENERATOR">
    </HEAD><body>
    <% dataconn()
    Response.Write("{"+str+"}")%>
    </body></HTML>
    (两个输出结果是相同的:[js]{js} )
    *****************************************************
    这样有一个缺点:做两个定义
    需要<%var str;%>,<%dim str%> 
    有没有更好的解决办法
      

  5.   

    dataconnSQL.js =>var str;
    function dataconn(){
    str="js";
    Response.Write("["+str+"]");
    }
      

  6.   

    我一般是这样的:
    用JScript来进行处理数据,用VBScript来做输出<%@Language=VBScript%>
    <SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT SRC=A.JS></SCRIPT>
    <SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT>
    //PrepareData
    </SCRIPT>
    <%=somevar%>
    <%while not rsdata.EOF%><%=rsdata("fld").Value%><%rsdata.MoveNext%>
    <%wend%>