如果写成这样
str = "\&";
会报无法识别的转义序列,编译都不通过

解决方案 »

  1.   


    str = "return true && false";TriggerButton.Attributes["onclick"] += str;TriggerButton是按钮对象目的就是在点击按钮时做一个验证
      

  2.   


    str = "return true && false"; TriggerButton.Attributes["onclick"] += str; 注:
    TriggerButton是按钮对象 
    上面两句的目的是在点击按钮时做一个验证
      

  3.   

    说实话我不明白那个 TriggerButton.Attributes["onclick"] += "return true && false"; 
    怎么就变成
    true && false
    这中间转了好几道弯,return 也给玩丢了。asp页面似乎把这个输出之前都变成html转码了。 那么你可以试:
    1、多个@   str=@"return true && false"; 
    2、转码 str="return true \0x55\0x55 false"; 
    3、不要用TriggerButton.Attributes["onclick"] +=, 关掉page.RequireValidation,直接输出到页面,然后再打开。
      

  4.   

    我明白了,那个什么TriggerButton就是个asp.net的按牛!还真没见过这样子生成脚本的jiong。
    那么这样子:
    既然是动态生成脚本,拖个ScriptManager控件sm吧。
    那个按牛button是引起ajax更新的,在它引起的事件处理里面这样写:
    整个script段照样,string script="function mycheck(fromObj){ ... return true && false; }";
    ***重点是使用 sm.RigisterClientScript(script,"mycheck",true);来注册脚本,它不会弄掉&& <>这些html字符。
    使用 button.OnClientClick=null;button.OnClientClick="mycheck(this)";来使得它今后做验证用。
    貌似就是如此你试试先
      

  5.   

    感谢您的帮助
    1、多个@  str=@"return true && false"; 
    不行
    2、转码 str="return true \0x55\0x55 false"; 
    不行
    ScriptManager我试试
      

  6.   

    验证是动态生成的,有多少个不能预先知道,所以很难写在一个function里面。
    最好是能直接输出&&
      

  7.   

    8楼可以动态的。
    button1先调个固定的js把输入都写到hidden1里面再引起ajax更新,这样服务器上实际已经得到输入,可以生成动态的js,用scriptmanager注册到浏览器了。