怎么在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>
<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>
<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>
<% } %>
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")))%>...
这样是可以,但是我想要给他赋为别的颜色的值时候就不成了例如:ForeColor="#2E3C6D" ,怎么写呢?
在.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;
}
if colotstring =1
Hyperlink1.ForeColor=red
else
Hyperlink1.ForeColor=blue
这个比较经典。