Я, очевидно, не совсем понимаю, как работают веб-сайты.Checkbox.checked false in page_load
(Using vb.net, visual studio, web forms)
Но здесь идет:
Это нормально, что после каждой обратной передачи-Page_Load, другой Page_Load всегда бывает (что это НЕ постбэк)? Или это что-то странное на веб-сайте, который я сейчас адаптирую?
Почему checkbox.checked-property всегда false в page_load, хотя проверяется, когда страница загружена?
Актуальная проблема: У меня есть страница с gridview, привязанная к набору данных. На странице_load я динамически добавляю несколько дополнительных столбцов в зависимости от определенных условий. (Я добавляю их, только если page_load не является обратной передачей.)
Теперь я добавил asp:checkbox
. Если он установлен, я хочу, чтобы страница перезагружалась и добавляла столбцы, но несколько иначе (так что она редактировалась). Я попытался проверить checkbox.checked-property на page_load, но это то, что происходит: во-первых, я получаю postback-page_load, где checked-свойство истинно (как и следовало ожидать). Тем не менее, сразу после этого я получаю normal
page_load, где свойство check false, хотя после загрузки страницы установлен флажок.
Поскольку я добавляю дополнительные столбцы normal
Page_Load, а затем checked
всегда ложно, столбцы всегда добавляется обычным способом ...
Может быть, я не должен добавлять столбцы в normal
Page_Load но в postback или в обоих. Но как бы то ни было, добавление столбцов работает, и в этом случае, если я добавлю их в postback тоже, это не будет иметь никакого значения, потому что за ним всегда будет стоять normal
page_load, в котором свойство checked false.
Что мне не хватает?
Я не думаю, что Page_Load следует стрелять в два раза, у вас есть какие-либо элементы управления, обновите страницу самостоятельно? Кроме того, вы должны попробовать включить привязку к gridview в инструкции 'if (! IsPostBack)' (я не уверен в эквиваленте VB, извините!). Вы также можете попробовать использовать функцию AutoPostback флажка и использовать событие OnCheckedChanged. Вы можете перестроить gridview с дополнительными столбцами. – MightyLampshade
Вы добавляете дополнительные столбцы в gridview - или набор данных? Я обнаружил, что, если я хочу, например, заголовки строк в сетке или дополнительный столбец при определенных обстоятельствах, я изменяю набор данных, а затем привязываю сетку. Если вы изменяете сетку, она, похоже, теряет свои модификации, когда вы отправляете назад, и вы должны их воссоздать. –
Я добавляю их в сетку, а не в набор данных. На самом деле не имеет значения, я думаю, в этом случае, потому что регулярная page_load всегда следует обратной передаче, которая «сбрасывает» сетку. –