Итак, у меня есть выпадающий список ASP (это .net 2.0). Я связываю это с данными. По сути, когда страница загружается, а это не запись назад, мы извлекаем данные записей, связываем все выпадающие списки и устанавливаем для них соответствующие значения (строго говоря, мы: инициализируем страницу базовым набором данных из БД, связываем выпадающие списки. из БД, получить фактические данные записи из БД, установить утопления в соответствующие настройки в это время). То, что я хочу сделать, это выборочно стилизовать параметры списка. Таким образом, база данных возвращает 3 элемента: ID, текст и флаг, указывающий, является ли запись «активной» (и я буду соответствующим образом стилизовать). Это достаточно легко сделать, и я сделал это.
Моя проблема в том, что происходит, когда отправка формы прекращается. Мы немного расширили класс Page и создали метод AddError (), который создаст список ошибок из неудачных проверок бизнес-правил и затем отобразит их в ValidationSummary. Это работает примерно так, в событии нажатия кнопки отправки:
CheckBizRules();
if(Page.IsValid)
{
SaveData();
}
Если проверка бизнес-правил завершится неудачно, страница будет недействительной. Проблема в том, что когда страница перерисовывается (видимость включена, но данные не возвращаются), мой красивый условный стиль теперь, к сожалению, исчез, чтобы жить в стране пропавших носков. Мне нужно сохранить это.
Я надеялся избежать здесь еще одного вызова БД (например, снова получить данные списка из БД, если страница недействительна, просто для того, чтобы переопределить список). Но это не конец света, если это мой курс действий. Я надеялся, что у кого-то может быть альтернативное предложение.
Я не мог придумать, как лучше сформулировать этот вопрос, если у кого-то есть какие-либо предложения или требуется разъяснение, не стесняйтесь его получить, силой, если потребуется. ;)