怎么在aspx页面中加判断条件啊,我在表里设置一字段,当为一时HyperLink为红色显示,否则blue,怎么写呢?这两种写法都不成啊:
<asp:HyperLink ID="Hyperlink1" ForeColor=<%# DataBinder.Eval(Container.DataItem,"flag")=="1"?"red":"BLUE"%>  Text='<%# chkStrLen(DataBinder.Eval(Container.DataItem,"title").ToString(),20)%>' Target=_blank runat=server>
</asp:HyperLink>

解决方案 »

  1.   

    <%# if(DataBinder.Eval(Container.DataItem,"flag") == "1") { %>
    <asp:HyperLink ID="Hyperlink1" ForeColor="red" Text='<%# chkStrLen(DataBinder.Eval(Container.DataItem,"title").ToString(),20)%>'  Target=_blank runat=server>
    </asp:HyperLink>
    <% }  else {
    %>
    <asp:HyperLink ID="Hyperlink2" ForeColor="#2E3C6D" Text='<%# chkStrLen(DataBinder.Eval(Container.DataItem,"title").ToString(),20)%>' Target=_blank runat=server>
    </asp:HyperLink>
    <% } %>
      

  2.   

    你这种写法当然不对,forecolor是Color类型的,而后面Red和Blue你用的都是字符串型,故不符合
      

  3.   

    Hyperlink1.ForeColor = flag == 1 ? System.Drawing.Color.Red : System.Drawing.Color.Blue;
      

  4.   

    sbqcel(吊死在一棵树上的猪!) 朋友由于本人水平有限能帮忙给详细写下么,或留个联系方式,好么?
      

  5.   

    <asp:HyperLink ID="HyperLink2" runat="server"  ForeColor='<%#(DataBinder.Eval(Container.DataItem, "flag").ToString() == "1") ? System.Drawing.Color.Red : System.Drawing.Color.Blue%>'>编辑</asp:HyperLink>
      

  6.   

    在后台写个方法:
    public string changColor(string test)
    {
       if(test=="1")
       {
          return "red";
        }
        else
        {
           return "blue";
        }
    }
    前台调用:
    <asp:HyperLink ID="Hyperlink1" ForeColor=<%# changColor(Convert.ToString(DataBinder.Eval(Container.DataItem,"flag")))%>...
      

  7.   

    <asp:HyperLink ID="HyperLink2" runat="server"  ForeColor='<%#(DataBinder.Eval(Container.DataItem, "flag").ToString() == "1") ? System.Drawing.Color.Red : System.Drawing.Color.Blue%>'>编辑</asp:HyperLink>这样好象可以
      

  8.   

    <asp:HyperLink ID="HyperLink2" runat="server"  ForeColor='<%#(DataBinder.Eval(Container.DataItem, "flag").ToString() == "1") ? System.Drawing.Color.Red : System.Drawing.Color.Blue%>'>编辑</asp:HyperLink>
    这样是可以,但是我想要给他赋为别的颜色的值时候就不成了例如:ForeColor="#2E3C6D" ,怎么写呢?
      

  9.   

    如果你有多个颜色的话;就不要在.aspx里用三目运算
    在.cs里写代码实现吧
      

  10.   

    ForeColor=<%#color((DataBinder.Eval(Container.DataItem,"xueli")).ToString())%>.cs里:
     public System.Drawing.Color color(string str)
        {
            System.Drawing.Color name = System.Drawing.Color.Empty;
            switch (str)
            {
                case "0": name =System.Drawing.Color.FromArgb(Convert.ToInt32("2E3C6D",16)); break;
                case "1": name = System.Drawing.Color.FromArgb(Convert.ToInt32("AAAAAA",16)); break;        }
            return name;
        }
      

  11.   

    ForeColor=<%#color((DataBinder.Eval(Container.DataItem,"flag")).ToString())%>
      

  12.   

    换个方式嘛 ~在后台处理string colorstring=ds.table[0].rows[0][flag].tostring();
    if colotstring =1
     Hyperlink1.ForeColor=red
    else
     Hyperlink1.ForeColor=blue
      

  13.   

    Hyperlink1.ForeColor = flag == 1 ? System.Drawing.Color.Red : System.Drawing.Color.Blue;
    这个比较经典。