在有的代码里,有的时候可以用<% %>嵌入一些代码,但为什么这样的事件里就不行
    <...  onkeypress="if (event.keyCode==13) <%= btnAdd.ClientID%>.click() >
    在生成的网页源代码里,变成了
    <...  onkeypress="if (event.keyCode==13) &lt;%# btnAdd.ClientID%>.click() >    居然不编译,即使把<%= %>改成 <%# %>也不行    有什么办法可以解决这种问题?    另:js中的OnMouseOut和OnMouseLeave有什么区别?

解决方案 »

  1.   

    要调用对象的方法应该是用document.getElementById('<%=btnAdd.ClientID%>')先得到对象以后在调用吧,document.getElementById('<%=btnAdd.ClientID%>').click()...
      

  2.   

    同在Form中,不用document.getElementById也行。关键是<%=btnAdd.ClientID%>不编译,直接把<转义成&lt;输出到源文件中了
      

  3.   

    onmouseout 和 onmouseleave 有何区别?    
     
    比如:在一个<td>标签有一个<a>标签1.由于<a>标签是<td>标签的子标签。所以根据事件冒泡的原理,<a>标签上的onMouseOut和onMouseOver事件会被传递到<td>标签上。2.对于onMouseOut和onMouseOver事件,浏览器会把<a>和<td>看做两个不同的object。从而当鼠标在两者之间移动时,会激发这两个事件。3.而且在浏览器中有一个很有意思的特性,带有连接的文字是空心的。就是说当鼠标点没有定位在文字曲线上时,浏览器认为它是定位在该文字下面的object上的。(比如说你的鼠标是定位在123的1和2之间,而不定位在1上或2上时,相当于定位在<td>上。)4.而onMouseEnter和onMouseLeave事件就把<a>和<td>都看成是鼠标在一个对象(<td>)上了, 
     
     
      

  4.   

    我试了, <%# btnAdd.ClientID %>  没问题。
    但别忘了在 Page_Load 里执行 DataBind(); ,否则不起作用