<img src=" <%#(string)DataBinder.Eval(Container.DataItem, "news_xpicture") == 1 ? "images/top1.jpg" : "images/top2.jpg" %>这是 读数据库等于1的时候显示第一张图片 要不就输出第二张图片   要是有三张图片怎样写呀 比如读数据库等于1时显示第一张 等于2时显示第二张 等于3时显示第三张

解决方案 »

  1.   

      
     <asp:Image ID="Image4" runat="server" ImageUrl='<%# GetImage(Eval(news_xpicture)) %>' /> 后台方法:
         
        public string GetImage(object str)
        {
            if (str.ToString()==1)
            {
                
                return "images/top1.jpg" ;
            }
            else if(str.ToString()==2)
            {
                return str.ToString();
            }
        }//如果有无数种可能 就这样写:
    public string GetImage(object str)
        {       
            return "images/top"+str.toString()+".jpg" ;
        }
      

  2.   

    不行的 他会报错  “== 无法用于string 和 int 类型”
      

  3.   

    数字两边加双引号,例:if (str.ToString()=="1") 
      

  4.   

    <img src=" <%# "1".Equals((string)DataBinder.Eval(Container.DataItem, "news_xpicture")) ? "images/top1.jpg" : "2".Equals((string)DataBinder.Eval(Container.DataItem, "news_xpicture"))?"images/top2.jpg" :"images/top3.jpg" %>   
    *****************************************************************************
    享受编程,享受人生