#asp.net
#asp.net
Вопрос:
У меня есть ASP.NET ListBox на странице, и по мере возникновения обратной отправки я изменяю элементы в списке. Если в списке >= 10 элементов, я устанавливаю свойство Rows = 10. Но если элементов меньше 10, я бы хотел вернуть строкам значение по умолчанию для строк.
Изучив отраженный код, я вижу, что значение по умолчанию равно 4, но я бы предпочел не вводить жестко значение 4 в моем коде, а вместо этого каким-то образом просто сбросить его до значения по умолчанию.
Есть ли способ сделать это?
Комментарии:
1. Что находится
ListBox
вasp.net
? Вы уверены?2. @Waqas: msdn.microsoft.com/en-us/library /…
Ответ №1:
Вы можете получить значение по умолчанию во время Init
фазы страницы. Из документации:
На этом этапе жизненного цикла страницы объявленные серверные элементы управления на странице инициализируются в состояние по умолчанию; однако состояние просмотра каждого элемента управления еще не заполнено.
Итак, вы можете сделать что-то вроде:
private int _defaultRows;
protected void Page_Init(object sender, EventArgs e)
{
_defaultRows = yourListBox.Rows;
}
protected void Page_PreRender(object sender, EventArgs e)
{
if (yourListBox.Items.Count >= 10) {
yourListBox.Rows = 10;
} else {
yourListBox.Rows = _defaultRows;
}
}