Я хочу получить доступ к значению метки в коде за страницей - PullRequest
1 голос
/ 16 октября 2019

Я хочу получить доступ к значению метки в коде позади страницы.

int a = int.Parse(Label5.Text);
if (a <= 10)
{
    Label5.BackColor = System.Drawing.Color.Red;
}

<asp:Label CssClass="txtStock" ID="Label5" runat="server" Text='<%# Eval("Pquant") %>'></asp:Label>

Я не могу получить доступ к Label5 в коде позади страницы, так как он не существует. Я хочу получить Label5 значение и сохранить его в переменной. Label5 берется из списка управления данными

1 Ответ

1 голос
/ 16 октября 2019

Вы не можете получить доступ к 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...