<%# 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中的内嵌脚本那样随心所欲地灵活使用
转载于:https://www.cnblogs.com/cwbboy/archive/2004/12/23/81204.html