我的js文件是独立于asp.net页面的。用上述语句执行后id="",var id = $('[ID$=ServerID]').val()可以获取的。
为什么第一个语句无法获取??谢谢哦

解决方案 »

  1.   

    jquery 只针对html标签,不针对服务器控件。
      

  2.   

    1. var id = $("#<%=ServerID.ClientID%>").val();
    2. var id = $('[ID$=ServerID]').val();两者写在js文件里和写页面上, 区别在于:
    js无法解析 服务器标签 ,所以第一种当然不行。
    第2种, 没有了服务器标签, 不需要解析, 但只是一个模糊匹配, 虽然能取到效率不高。建议还是把js代码放在页面上, 至少js取服务器对象变量,要放在页面。
      

  3.   

    js文件是静态的,不会去解析诸如<%=ServerID.ClientID%>的动态代码
      

  4.   

    写在页面就能够编译和解析这段代码,如果在JS文件里面的话,framework压根就不知道有这代码的存在