提问人:Barnabeck 提问时间:9/9/2023 更新时间:9/9/2023 访问量:22
动态分配的样式被渲染但不显示
Dynamically assigned Styles are rendered but not displayed
问:
我有一个 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");
}
}
这两个表达式都不起作用......至少,尽管代码已构建,但一切都保持白色,正如我在源文件中看到的那样。
<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>
有什么建议吗?
答:
1赞
Albert D. Kallal
9/9/2023
#1
好吧,你至少得到了一个奖品,因为你的代码是正确的,但你的css有点错误。
试试这个:
e.Row.Style.Add("background-color","lightsteelblue");
或者就您而言:
e.Row.Style.Add("background-color", "yellow");
上一个:网页在移动设备上显示较小
评论
BackColor:yellow;
不是 CSS。尝试background-color:yellow;