A volte è necessario utilizzare le finestre modali in ASP.NET per evitare che l'utente ne possa aprire molte dello stesso tipo per distrazione. Per avere una finestra modale è sufficiente richiamare il metodo javascript ShowModalDialog dell'oggetto window.
Quando si apre una finestra modale ci si può trovare di fronte ad un effetto collaterale. Ogni volta che si fa una postback (ad esempio gestendo l'evento Click di un Button ASP.NET) si apre una nuova finestra modale.
Per risolvere il problema è sufficiente aggiungere il tag base nell'head della pagina ASP.NET invocata nella dialog modale:
<base target="_self" />
fonte: ShowModalDialog