This is a tricky one. I know of a couple options to try:
- You can try to clone and modify the repeater web part, and in your custom version add a On Pre_Init (or OnInit, anything that will run before the webpart zone) that checks for the datasource, if it's empty sets a Macro in the macro context that you can then leverage for making the zone visible.
- You can try to just add a
<script runat="server"></script> in your ascx transformation, perform the OnPre_init on that and set a macro that (so if the dataset is empty, that macro won't exist and you can toggle the zone based on that).
- Otherwise if your Repeater is hooked up to a datasource, you can create a custom control to check that data source and set a macro as well.
- Lastly, if your repeater logic is something predictable, you could create a macro method that simply manually performs the same data call and returns a true or false if it's empty or not, and just call that method and not even try to 'touch' the repeater.
4 may be the easiest if it's predictable, otherwise i would try 2, then 1, then 3