a.aspx页面有这样一段代码:
  var bxx = <%=!string.IsNullOrEmpty(_asrregistration_qt)%>; 
运行时候老报   'True' is undefined错误。。
用IE8自带的调试工具 发现那行代码
被解释成了 var bxx = True; 而不是小写的true
JS中不认识True 吗?
我后来把代码改为 var bxx = <%=!string.IsNullOrEmpty(_asrregistration_qt)?true:false%>; 
可是还是被解释成的True 
各位同胞们有没碰到这样的情况?改如何处理?
经过测试成功的立马50分送上。。

解决方案 »

  1.   

    <%=!string.IsNullOrEmpty(_asrregistration_qt)%>  = True  , 而JS 只认识 true
      

  2.   

    var bxx = <%=!string.IsNullOrEmpty(_asrregistration_qt)?"true":"false"%>; 
      

  3.   

    var bxx = <%=!string.IsNullOrEmpty(_asrregistration_qt)?"true":"false"%>; 
      

  4.   

    还有一个问题一起吧 a.aspxz中声明了通过后台一个变量 var path=<%= ..%>+./../. (就是个URL路径)
    a.aspx引用了a.js文件  而a.js 中定义了一个无参数的方法比如
     function bb(){ 
    alert(path);
    }
     为什么引用不了a.aspx定义的变量了? 
    而我a.js中的jQuery能引用a.aspx中定义的别的变量
      

  5.   

    问得很乱!!
    后台:ViewDate["xxxx"] = path;js:
    function bb(){
      alert(<%= ViewDate["xxxx"] %>);
    }
      

  6.   

    JS是区别大小写的,True和true不一样如:var TT=123;tt=333;alert(TT); TT和tt是两个对象
      

  7.   

    你搞笑吧  JS文件中能<%= %> ? 别被分冲混了头脑啊。。
      

  8.   

    如果不行的话,换下面的方法:
    后台:ViewDate["xxxx"] = path; js: 
    function bb(str){ 
      alert( str ); 
    } html:
       <input type="button" value="btnXXXX" onclick="bb(<%= ViewDate["xxxx"]%>)"/>
      

  9.   

    这样得到的是bxx="true"  不是Boolean类型的吧!
    为什么<%=!string.IsNullOrEmpty(_asrregistration_qt>; 得到的是大写的True谁能解释下?
      

  10.   

    我也遇到过这样的问题,但不知道为什么,后来就先把bool转为字符或者数字再判断
      

  11.   

    为什么 <%=!string.IsNullOrEmpty(_asrregistration_qt>; 得到的是大写的True谁能解释下?-----------------------------bool 类型 转换成字符型 首字母都是大写的
      

  12.   

    但是我没让他转换成字符型啊  得到的是True 而不是"True"
    要是是字符型 不会包'True' is undefined错误吧。。 
      

  13.   

    <%= %>这个表达式 你明白么
      

  14.   

    据说是相当于单行输出时候的Response.Write()
      

  15.   

    <%= %>  得到的都是字符型的?
     那
     var bxx = True
    为什么'True' is undefined错误。。 我确实理解不深!
      

  16.   

    既不是js中的保留字,又不是上下文里有过申明的变量,又没有引号括起来表明它是一个字符串常量,系统当然不能识别。
    但true和false都是js中的保留字,所以能识别。