DataList中,当<%# DataBinder.Eval(Container.DataItem,"istop")%>为true时显示1.gif,否则显示2.gif怎么做?

解决方案 »

  1.   

    try:
    <%# Convert.ToBoolean(DataBinder.Eval(Container.DataItem,"istop"))==true?1.gif:2.gif%>
      

  2.   

    <%# DataBinder.Eval(Container.DataItem,"USER_NAME")%><%# Convert.ToBoolean(Container.DataItem,"ISTOP")==true?'1.gif':'2.gif'%>
    测试时:
    CS1012: 字符文本中字符太多
    指向上面的行
      

  3.   

    http://community.csdn.net/Expert/topic/3226/3226839.xml?temp=.2292597
      

  4.   

    public string setImage(bool bl)
    {
    if(bl)
    {
    return "1.gif";
    }
    else
    {
    return "2.gif";
    }
    }
    .aspx
    <img src='<%# setImage(Convert.ToBoolean(Container.DataItem,"ISTOP"))%>'>
    还是不行
    CS1502: 与“System.Convert.ToBoolean(object, System.IFormatProvider)”最匹配的重载方法具有一些无效参数
      

  5.   

    改如下:
    <%# Convert.ToString(Container.DataItem,"ISTOP") == "True"?"1.gif":"2.gif"%>另问,你此中的值是什么?难道它就是bool值吗?
      

  6.   

    楼上的方法都可以。如果在后台写,就转成string嘛<%# GetImage(DataBinder.Eval(Container.DataItem,"istop").ToString()) %>.cspublic string GetImage(String str)
    {
       if(str == "True")
       {
          str = "1.gif";
          return str;
       }
       else
       {
          str = "2.gif";
          return str;
       }
    }
      

  7.   

    public string setImage(bool bl)
    {
    if(bl)
    {
    return "1.gif";
    }
    else
    {
    return "2.gif";
    }
    }这个方法不错啊
    至于出错,你改一下就行了呀