Thanks Jim. I don't love it, but it does work! Any reason why standard ASPX if statements do not work in this case?
I also need to check for ArticleTeaserImage in addition to NewsTeaser. I came up with this for the first placeholder and it works as expected:
<asp:placeholder runat="server" visible='<%# IfImage("NewsTeaser", true, IfImage("ArticleTeaserImage", true, false)) %>'>
But on the second placeholder, it doesn't like the inverse. If neither exists, it does return true, but if either exists, the div-col-md-12 is visible:
<asp:placeholder runat="server" visible='<%# IfImage("NewsTeaser", IfImage("ArticleTeaserImage", false, true), true) %>'>
<div class="col-md-12">
</asp:placeholder>
This however does work, but unsure why the above does not:
<asp:placeholder runat="server" visible='<%# IfImage("NewsTeaser", false, true) %>'>
<asp:placeholder runat="server" visible='<%# IfImage("ArticleTeaserImage", false, true) %>'>
<div class="col-md-12">
</asp:placeholder>
</asp:placeholder>