动态分配的样式被渲染但不显示

问题描述 投票:0回答:1

我有一个 GridView,我想在 RowDataBound 事件期间根据单元格的值分配行的背景颜色。我愿意:

    protected void Gridview_OnRowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if (e.Row.Cells[1].Text == "0")
            {
                e.Row.Style.Add("BackColor", "yellow");
            }
            TextBox txbx = e.Row.FindControl("Txt_Criteria") as TextBox;
            txbx.Style.Add("BackColor", "yellow");
        }
    }

这 2 个表达式都不起作用……至少,尽管代码已构建,但一切都保持白色,正如我在源文件中看到的那样。

<tr style="font-size:11px;BackColor:yellow;">
<input name="GridView_$ctl14$Txt_Criteria" type="text" id="GridView_Txt_Criteria_12" style="BackColor:yellow;" />

为了检查与其他样式定义的任何干扰,我消除了所有样式引用,但结果保持不变。

<asp:GridView ID="GridView_Criteria" runat="server" DataKeyNames="ID" AutoGenerateColumns="false" OnRowDataBound="Gridview_OnRowDataBound">
    <RowStyle Font-Size="11px" />
            <Columns>

有什么建议吗?

c# css asp.net gridview
1个回答
0
投票

好吧,你至少得到了一个奖品,因为你的代码是正确的,但你的CSS有点错误。

试试这个:

e.Row.Style.Add("background-color","lightsteelblue");

或者根据您的情况:

e.Row.Style.Add("background-color", "yellow");
© www.soinside.com 2019 - 2024. All rights reserved.