2017-02-02 2 views
-2

Я знаю, что это будет такое простое решение, но по какой-то причине я не могу заставить этот метод работать на C#. Я просто хочу выполнить логический тест, чтобы увидеть, видна ли таблица ASP. Если это так, установите видимое значение false, иначе установите значение true.Тестирование, если отображается таблица ASP

Каков был бы правильный синтаксис для этого теста?

protected void btnNewMaterial_Click(object sender, EventArgs e) 
{ 
    if (tblMaterialDetails.Visible==true) 
    { 
     this.tblMaterialDetails.Visible = false; 
    } 
    else 
    { 
     this.tblMaterialDetails.Visible = true; 
    } 
} 

На дополнительной ноте, я бегу ASP 4.5

+0

Что происходит сейчас? Можете ли вы опубликовать контрольный код? –

+0

Вы действительно пробоировали этот код? Не работает ли это так, как ожидалось? – mason

+0

вы, вероятно, работаете в 'PostBack', вы знакомы с PostBacks и как использовать отладчик ..? вы, вероятно, настраиваете его, и когда происходит обратная передача, он возвращает значение true в отношении видимого – MethodMan

ответ

1

Первый: как упоминалось в комментариях, вам не нужно писать эти коды fo r такое простое действие. Достаточно tblMaterialDetails.Visible = !tblMaterialDetails.Visible;

Во-вторых: Ваш код верен, и это невозможно, что не работает. Поэтому проверьте некоторые вещи. Возможно, вы удалили OnClick="btnNewMaterial_Click" в свою кнопку. И если в режиме отладки вы видите, как срабатывает метод, возможно, у вас есть некоторые указания о видимости таблицы в вашем Page_Load. Одна вещь, которую забывают несколько раз, заключается в следующем: Page_Load работает после Button_Click

+0

Спасибо за отзыв! Я не знал, что событие Page_Load запускается каждый раз, когда я нажимаю событие Button_Click. Я только сделал предположение, что это сработало, понравилось событие Form_Load в VBA. –

+0

Добро пожаловать. Я рад, что это вам помогло. –

1

Это должно дать вам результат, что вам нужно

bool isVisible = tblMaterialDetails.Visible; 

это покажет, если он есть, или не видно, так что ваши если может быть

if (tblMaterialDetails.Visible) 
{ 
    // your code here 
} 
Смежные вопросы