【发布时间】:2012-02-10 10:53:41
【问题描述】:
如果特定列有值,我想设置 gridview 行颜色。但是我在我的 DIVSTATUS 中收到关于 nullreference 的错误。
我的 ASPX
<asp:TemplateField HeaderText="Status">
<ItemTemplate>
<div style="width:70px;" id="divStatus" runat="server"><%# Eval("DscStatus")%></div>
</ItemTemplate>
</asp:TemplateField>
我的代码隐藏
if (GridView1.Rows.Count > 0)
{
for (int i = 0; i < GridView1.Rows.Count; i++)
{
HtmlContainerControl divstatus = (HtmlContainerControl)GridView1.Rows[i].FindControl("divstatus");
if (divstatus != null)
{
if (divstatus.InnerText == "Andamento Project")
{
GridView1.Rows[i].BackColor = System.Drawing.Color.Navy;
GridView1.Rows[i].ForeColor = System.Drawing.Color.White;
}
}
}
}
我的渲染 HTML
<td>
<div style="width:70px;">Andamento Project</div>
</td>
【问题讨论】:
-
我认为你应该在
Row Databound事件中设置它们