У меня есть пользовательский элемент управления, который содержит три dropdownlists: для дня, месяца и года. Это своего рода дампикер. У этого есть частное полеASP.NET - Пользовательский контроль внесенных изменений изменений на каждой странице
private bool _isValidDate = false;
На выпадающих листах первые предметы - «День», «Месяц» и «Год». На SelectedIndexChanged случае проверить, если все выбранные индексы больше 0, и если это правда, я пытаюсь создать новый объект DateTime со значениями DropDownLists, как например:
try
{
DateTime date=new DateTime(int.Parse(ddlYear.SelectedItem),
ddlMonth.SelectedIndex,
ddlDay.SelectedIndex);
_isValidDate=true;
}
catch {_isValidDate=false;}
В форме, где я использую этот контроль перед тем я проверяю свойство IsValidDate, и если оно ложно, я предупреждаю пользователя. Проблема заключается в том, что я впервые установил правильную дату и нажимаю кнопку. Я не получаю никакого предупреждения, поскольку свойство IsValidDate имеет значение true, но если я нажму на него во второй раз, свойство IsValidDate вернется к false, и я получу предупреждение, хотя дата действительна. Я знаю, это потому, что каждый раз, когда страница загружает файл _isValiddate, установленный в элементе управления, возвращается к его значению по умолчанию - false. Как я могу справиться с этой проблемой?