在 Repeater 控件的显示时,有时需要根据得到的数据条件,按要求显示出来。但直接在 .aspx 代码中直接操作可能比较困难。
如下面的方法可以解决这个问题
<input type="button" style="color:<%# (int)Eval("shYiJian")>0?"#FF0000":"#000000" %>" οnclick='getTimu(<%#Eval("ID") %>)' value='试题编号:<%#Eval("ID") %>' />
利用这个方法,可以根据 shYiJian 字段的值作出判断,进而设定其颜色值分别为 "#FF0000" 或 "#000000" ,注意一定要加上 引号。
但是这种方法只能设置两种颜色,如果要考虑更多的颜色设置,那么用这种方法,显然有点太麻烦了。
那就用下面的方法吧。
public
string setcolor(
string shYiJian)
{
int pn = int.Parse(shYiJian);
string s = " #000000 ";
if (pn == 0)
s = " style=\"color:#0000ff\" ";
if (pn < 0)
s = " style=\"color:#000000\" ";
if (pn > 0)
s = " style=\"color:#ff0000\" ";
return s;
}
{
int pn = int.Parse(shYiJian);
string s = " #000000 ";
if (pn == 0)
s = " style=\"color:#0000ff\" ";
if (pn < 0)
s = " style=\"color:#000000\" ";
if (pn > 0)
s = " style=\"color:#ff0000\" ";
return s;
}
借助于这个函数 在 .aspx 文件中引用这个函数就可以了
.aspx中的相关代码如下
<input type=
"
button
" <%# setcolor(DataBinder.Eval(Container.DataItem,
"
shYiJian
").ToString()) %> οnclick=
'
getTimu(<%#Eval("ID") %>)
' value=
'
试题编号:<%#Eval("ID") %>
' />
最终结果如图所示: