Как проверить после определенного количества обратных передач - PullRequest
0 голосов
/ 18 октября 2010

У меня есть особая ситуация, когда мне нужно проверить пару дат в веб-приложении ASP.Net. Вот как выглядит моя страница:

У меня есть поле «С даты», которое состоит из трех выпадающих списков (для года, месяца и даты) У меня есть поле «До даты», которое также состоит из трех выпадающих списков (для года, месяца и даты). На экране есть кнопка «Загрузить отчет» (которая позволяет пользователю загрузить отчет за указанный диапазон дат)

Все эти шесть выпадающих списков заключены в пользовательский элемент управления.

Теперь все 6 выпадающих списков имеют значение по умолчанию "пожалуйста, выберите". Когда пользователь впервые попадает на страницу, все выпадающие списки устанавливаются на «пожалуйста, выберите». Кнопка «Загрузить» активна только после выбора действительных дат «От» и «До».

Теперь мое требование таково:

Когда пользователь впервые попадает на страницу, не следует пытаться проверить даты, пока он не выберет все 6 выпадающих списков хотя бы один раз.

Когда выбран 6-й выпадающий список, даты от и до должны быть проверены. После того, как пользователь выбрал все 6 выпадающих меню один раз, впоследствии при каждой обратной передаче в выпадающем списке даты должны быть проверены.

Мой выпуск:

Какой лучший способ отследить эти 6 различных обратных передач (для каждого из раскрывающихся списков) перед началом проверки Даты От и До. Я мог бы поддерживать флаги ViewState .. но есть ли лучший способ?

Заранее спасибо!

1 Ответ

1 голос
/ 18 октября 2010

Не думаю, что вы должны думать о них как о 6 отчетливых постбэках. Вполне вероятно, что пользователь может выбрать значение из одного из раскрывающихся списков, а затем изменить его обратно на «Пожалуйста, выберите»; таким образом, может быть много обратных передач, прежде чем будет выбрано правильное значение.

Также разговор о отдельных обратных передачах не означает, что это будет упорядоченный процесс, ToDate может быть выбран до FromDate.

Поэтому я хотел бы предложить вам - перед выполнением любой проверки даты - убедиться, что во всех раскрывающихся списках выбрано значение, и только если это так, перейти на следующий уровень проверки (например, чтобы убедиться, что 30 февраля не выбран).

Я бы лично не использовал ViewState вообще, а на самом деле веб-формы в этом отношении - но это не имеет отношения к вашему вопросу ...

...