ASP.NET Как узнать, виден ли элемент управления на странице if-else?

#c# #asp.net #controls

#c# #asp.net #элементы управления

Вопрос:

Вот пример. Проблема в том, что Label2 всегда имеет значение Visible=true, независимо от результата if-else . Как я могу узнать, виден он или нет?

 <asp:GridView runat="server" ID="gdv">
<asp:TemplateField>
<ItemTemplate>

  <%if (!IsItem)
                  {%>
                    <asp:TextBox runat="server" Text='<%# Eval("Qtde") %>'></asp:TextBox>
                    <%}
                  else
                  { %>
                  <asp:Label ID="Label2" runat="server" Text='<%# Eval("Qtde") %>'></asp:Label>
                    <%} %>


                </EditItemTemplate>
        </asp:TemplateField>
  

Я не могу получить доступ к IsItem, поскольку класс, в котором я хочу проверить видимость метки, не является кодом страницы. Также эти элементы управления находятся в gridview.

Метод класса, который проверяет видимость, не вызывается непосредственно страницей, это частный метод серверного элемента управления, который расширяет представление сетки и должен работать с различными случаями.

Спасибо.

РЕДАКТИРОВАТЬ———— Я нашел альтернативное, достойное решение. Тем не менее, мне любопытно узнать, возможно ли сделать вышеупомянутое. Спасибо за ваше время,

Комментарии:

1. if (!IsItem) по-видимому, говорит вам.

2. Я не могу получить доступ к свойству IsItem, я добавил изменения, чтобы прояснить это.

3. Трудно понять, в чем проблема. Что определяет состояние, если не isitem ?

4. Это зависит от каждой строки, иногда строка является элементом, иногда нет. Страница устанавливает это свойство viewstate для события редактирования.

Ответ №1:

Вы отображаете эту метку на основе переменной с именем «IsItem». Почему вы не можете использовать это для определения видимости метки?

Комментарии:

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

2. Передайте IsItem в качестве параметра bool методу в другом классе.

3. Метод класса, который проверяет видимость, не вызывается непосредственно страницей, это частный метод серверного элемента управления, который расширяет представление сетки и должен работать с различными случаями.