描述如题目所言,怎么在VB.NET里调用在JAVASCRIPT中定义的一个变量.有没有解决方案,请大家指教!!多谢

解决方案 »

  1.   

    如果放在HIDDEN里的话,需要页面再刷新一遍,我说的是这样的情况:
    <script language="javascript">
    var a=12;
    <%
       在此时怎么调用上面声明的这个a
    %>
    </script>
      

  2.   

    <script language="javascript">
    var a=12;
    </script>
    在body的On_Load事件中付值给一个hidden(这个hidden要加上runat=server)
    如:
    XX.value=a;<%
       XX.Text
    %>
      

  3.   

    如果按楼上大哥说的,在HIDDEN那里加上一个runat=server,那也需要在FROM那里加上一个runat=server,但是我的程序还要提交到另外的页面啊?那样的话,就不能加runat=server了吧
      

  4.   

    这是肯定的,客户端之做两件事情。就是完成数据收集和提交页面信息,它本身是不能处理数据交换的,所以如果你不submit的话,服务器是无法获取你定义的变量的!
      

  5.   

    还有没有新的想法,和解决方案啊,大哥们!!我的程序是这样的
    <script language="javascript">
    function funa(frm)
    var a=frm.txtABC.value;
    <%
       if (application("java")= "on") then
          dsdsCLASS.add(这个参数就是上面的a,application)
       else
       .........
       end if
       
    %>
    </script>
    我要跟据页面上TEXT的值来进行操作
      

  6.   

    根据你的意图和你写的代码,可以清楚地判断你现在完全还不懂ASP.NET的执行模型
    1、被包括在<%%>中的代码是在服务器段执行的
    2、javascript代码是在浏览器中(客户端)执行的
    上面你所写的代码,我明白在你的想象中是a先被赋值,然后后面的<%%>代码块运行,搞点什么你要的动作,其实不是这样的,真正会发生的事情是:当浏览器请求这个页面的时候,ASP.NET运行时会解析这个页面的源代码,并执行<%%>中的代码,其他的javascript脚本则不会被执行。<%%>快被执行完之后,就被忽略掉了,在最终生成的html代码中,完全不包括那个部分。所以,你那个代码,假设<%%>没有语法错误也能正确执行,那到了客户端就变成了
    <script language="javascript">
    function funa(frm)
    var a=frm.txtABC.value;
    </script>
    仅仅是一个赋值语句了,什么都不会发生。上面我见得这么一大堆,是ASP.NET执行模型的基础知识,建议楼主加强基础知识学习。
      

  7.   

    上面“ASP.NET运行时会解析这个页面的源代码,并执行<%%>中的代码”这句话其实不太准确,我来更正一下:
    ASP.NET运行时会解析这个页面,如果这个页面此前还没有被编译过,或者原来的编译已经过期,那么这个页面就会被实时编译成一个新类,<%%>中的代码会被发射到新类的Page_Load过程中,随后这个类就被加载执行,向客户端输出html或者其他代码设定的内容。也就是说ASP.NET页面存在一个先编译后执行的动作,在编译过程中,你写的那些<%%>代码就被抽提出来加入了动态生成的类中,在发往浏览器的代码中,已经完全不见踪影了。
      

  8.   

    前后台相互调用的话,只能放到hidden里了,JS中更新值的话,同时用JS更新该hidden的值