<%# DataBinder.Eval()%>在aspx页面并不总是会被解释,当你在一个控件中按以下方式使用时:
 
    <asp:ImageButton id="btn1" runat="server"  ImageUrl='../img/<%# DataBidner.Eval(Container.DataItem,"Column1").Equals(0)?"IsZero.gif":"Other.gif"%>' />

  产生的HTML页面的相关元素的src 仍然是:   '../img/<%# DataBidner.Eval(Container.DataItem,"Column1").Equals(0)?"IsZero.gif":"Other.gif"%> ,asp.net并未对他进行解释, 如果你按下面这样写,asp.net便可以解释:

  <asp:ImageButton id="btn1" runat="server"  ImageUrl='<%# DataBidner.Eval(Container.DataItem,"Column1").Equals(0)?"../img/IsZero.gif":"../img/Other.gif"%>'

将"../img/"这段字符串移到数据绑定表达式里面,aspx页面便按我们预想的方式显示出来了.

   具体原因我也没有研究,或许某本书上早就有了答案吧,我已经8个月没有看asp.net书了.

   由此可见,  数据绑定并不能像在asp中的内嵌脚本那样随心所欲地灵活使用