具体描述: 
前台代码: 
在前台JS有个变量temp,我想当temp等于1 时, 
用var ins=" <%=insertdata() %>";(insertdata()是后台的一个方法,向数据库插入一条数据,返回值为bool类型) var temp; 
function aaa() 

为temp赋值; 

function bbb() 

if(temp==1){var ins=" <%=insertdata() %>";}//向数据库插入一条数据 

但是不管我的temp是什么值,都会向数据库插入一条记录的请教各位该怎么办?
备注:不支持ajax

解决方案 »

  1.   

    这样的话,无论怎么样都会执行 <%=insertdata() %>的.
    楼主应该去看一下ASP的执行机制网页代码的执行顺序是:asp,html,js
    像你这样写的话,无论怎么样的代码都会执行的,因为这是最先执行的代码,他是在服务器上执行里,执行里的时候也不会去理会js,因为JS是asp在报务器执行以后,生成的THML传给客户端,再在客户端里执行的代码.
    楼主想要把实现这个效果,要么用ajax(触发后,让服务器执行)或者用asp的代码进行控制
      

  2.   

    这样的话,无论怎么样都会执行 <%=insertdata() %>的. 
    楼主应该去看一下ASP的执行机制 网页代码的执行顺序是:asp,html,js 
    像你这样写的话,无论怎么样insertdata()都会执行的,因为这是最先执行的代码,他是在服务器上执行里,执行的时候也不会去理会js,因为JS是asp在服务器执行以后,生成的HTML传给客户端,再在客户端里执行的代码. 
    楼主想要把实现这个效果,要么用ajax(触发后,让服务器执行)或者用asp的代码进行控制
      

  3.   

    <%=insertdata() %>
    相当于写在page_load中
    不可能控制其执行时间
      

  4.   

    我的想法是当temp等于1时,打开一个新窗口,在新的窗口插入数据,然后把打开的窗口关闭,但是这样的话,又会出现闪屏效果,这个有什么办法解决
      

  5.   

    <%=insertdata() %>不管如何都会执行的,这个方法在页面输出的时候就执行了,跟js没有关系。