Ter um asp:button que abrirá em um Fancybox pode ser um problema.
Você clica, clica e nada acontece.
Bom, o problema é o seguinte, o Fancybox pega o <asp:Button /> e coloca fora da tag <form>. Como sabemos, no ASP.NET tudo fica dentro de um form, e se não tiver dentro não vai funcionar, pelo menos não na maioria dos browsers.
A solução é mudar um trecho de código dentro do plugin.
Abra o arquivo fancybox.js (no meu caso jquery.fancybox-1.3.1.js) e procure pelo seguinte trecho de código:
$('body').append(
tmp = $('<div id="fancybox-tmp"></div>'),
loading = $('<div id="fancybox-loading"><div></div></div>'),
overlay = $('<div id="fancybox-overlay"></div>'),
wrap = $('<div id="fancybox-wrap"></div>')
);
Mude o body da lina que esta em destaque para form, como no exemplo abaixo:
$('form').append(
tmp = $('<div id="fancybox-tmp"></div>'),
loading = $('<div id="fancybox-loading"><div></div></div>'),
overlay = $('<div id="fancybox-overlay"></div>'),
wrap = $('<div id="fancybox-wrap"></div>')
);
Simples assim.