日期:2014-05-17  浏览次数:20387 次

急!!datalist 根据后台条件在前台显示不同图片
数据库的表里面字段值state的值为f或者t,我想根据state的值来判断,当为f时,前台显示一张图片,为t时,显示另一张图片。




前台代码为:

C# code


<asp:DataList ID="DataList1" runat="server">
        <ItemTemplate>
      <asp:Image ID="Image1" runat="server" src='<%# getRackImg(DataBinder.Eval(Container.DataItem,"state").ToString())%>'/>
       </ItemTemplate>  
</asp:DataList>




后台代码为:
C# code


 public string getRackImg(string rackstate)
        {
            string imgUrl="123";
            Response.Write(rackstate);
            if (rackstate == "f")
            {
                imgUrl = "./image/rack_NotUsed.jpg";

            }
            else if (rackstate == "t")
            {
                imgUrl = "./image/rack_Used.jpg";
                
            }
            Response.Write(imgUrl);
            return imgUrl;
        }



特地加了两个repongse检查,发现根本跳不进if和else if里面啊 为什么啊 输出的imgUrl始终是123

求救后台应该怎么写才好,前台写得对不对啊?

------解决方案--------------------
HTML code
src='<%# Eval("state")=="f"?"./image/rack_NotUsed.jpg":"./image/rack_Used.jpg" %>'

------解决方案--------------------
要看你是怎么改变状态的。
补充说明下,如果是后台的方法改变状态,就是DataList从新绑定显示。
如果是前台的方法改变状态,就是显示图片的控件切换显示源,看你觉得怎么做合适了
------解决方案--------------------
探讨
引用:
算了 不想说了


汗啊 姐姐 我都试过 不行啊
你说的那种用三元操作符的和我那样前后台分开 原理都是一样的 但就是不对