Во-первых, это потому, что в кнопке btnConfermaCambioStato
нет CommandName
.
Когда вы нажимаете btnCambiaStato
, gvMonitor_RowCommand должен быть поднят, но он поглощается ModalPopupExtender, чтобы он мог показывать всплывающее окно Клиентская сторона без отправки назад. но в данном случае это так, потому что вы не хотите выполнять обратную передачу, пока действие не будет подтверждено.
Если вы хотите вызвать событие, когда нажимаете btnConfermaCambioStato
, вам следует добавить CommandName к кнопке, которая вызывает событие.
<asp:Button runat="server" ID="btnConfermaCambioStato"
Text="Conferma"
CommandName="ConfermaCambiaStato" />
Но это не будет работать, потому что вы указали его в качестве OkControl для ModalPopupExtender, это скажет ModalPopupExtender принять событие и обработать его на стороне клиента, запустив функцию onOk()
javascript.
OkControlID="btnConfermaCambioStato" OnOkScript="onOk()"
Итак, вы, вероятно, хотите удалить эти 2 свойства, чтобы обрабатывать событие click btnConfermaCambioStato
на стороне сервера, используя событие gvMonitor_RowCommand
. Вот и ответь «Почему?»
Но я думаю, что вы не будете в беде, зная это. В зависимости от того, что вы хотите сделать, в gvMonitor_RowCommand
вы, вероятно, установите свой gridview как asyncpostbacktrigger панели обновлений для его плавной обработки, затем вы можете скрыть ModalPopupExtender на стороне сервера и затем обновить все, что вам нужно в этом панель обновления. Но я просто размышляю здесь.