Мне кажется, я вижу твою проблему. Вы не цитируете ClientID в своем вызове JS, так что на самом деле это просто сбой - поэтому return false
также не работает. Если единственной проблемой была обратная передача, вы все равно должны увидеть свое всплывающее окно, прежде чем страница вернется к себе.
Ваш код:
buttonX.OnClientClick = "javascript:$get(" + modalPopup.ClientID + ").show();";
Добавит "javascript:$get(ctl123).show();"
(я использую ctl123 в качестве имени-заполнителя для любого вашего ClientID) - идея заключается в том, что ошибка происходит, потому что у вас должно быть следующее:
buttonX.OnClientClick = "javascript:$get('" + modalPopup.ClientID + "').show();";
Который выдаст "javascript:$get('ctl123').show();"
Разница в том, что во втором указан контрольный идентификатор.
Попробуйте и добавьте return false;
для предотвращения обратной передачи. Вот так:
buttonX.OnClientClick = "javascript:$get('" + modalPopup.ClientID + "').show(); return false;";