Вы не можете получить доступ к Label5
в коде позади, потому что это часть контроля данных, такая как FormView
, GridView
, Repeater
или что-то в этом роде. Так что Label
не существует только один раз - он существует в каждом элементе вашего контроля данных.
Если вы хотите установить BackColor
динамически, вы можете сделать это в методе привязки данных (например, GridView
)
protected void YourGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Label Label5 = (Label)e.Row.FindControl("Label5");
if (int.Parse(Label5.Text) <= 10)
{
Label5.BackColor = System.Drawing.Color.Red;
}
}
}
или сделать это непосредственно в Label
:
<asp:Label CssClass="txtStock" ID="Label5" runat="server" Text='<%# Eval("Pquant") %>'
BackColor='<%# int.Parse(Eval("Pquant")) <= 10 ? System.Drawing.Color.Red : System.Drawing.Color.Black %>'
></asp:Label>