Я использую Entity Framework 4.0 для привязки объекта базы данных к DetailsView на элементе управления ascx. В DetailsView у меня есть несколько asp: панелей, которые я хотел бы показать / скрыть в зависимости от того, что происходит во время визита этого человека.
Итак, первый раз на странице я устанавливаю panelA.Visible = false в событии FormView_OnLoad, и все хорошо - эта панель не выводится в HTML. Он слушает то, что я спрашиваю здесь.
После того, как я нажму кнопку отправить и отправить обратно, я снова проверяю происходящее и устанавливаю panelA.Visibe = false как в FormView_OnLoad, так и EntityData_OnUpdating. Но в этот раз, когда появляется страница, панель А показывает.
Я обнаружил, что могу скрыть эту панель только после обратной передачи, установив visible = false в DetailsView_PreRender или связав видимость с общедоступной переменной.
Я думаю, что, возможно, в жизненном цикле DetailsView снова привязывается к концу и отбрасывает мои настройки видимости, даже если они не связаны. Поэтому, чтобы показать / скрыть панели в DetailsView при обратной передаче, мне всегда нужно будет устанавливать видимость для DetailsView_PreRender или после?
Я здесь на правильном пути или что-то еще сбрасывает меня в последнюю секунду?
Почему я могу установить видимость в первый раз через страницу, но не обратно?