per adesso ti mando la paginetta di prova che ho fatto:
nel mio caso, naturalmente, il compo vero/falso si chiama si_no

codice:
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    
    protected string ControlloStatus(bool b)
    {
        if (b)
            return "http://..../Vero.gif";
        else
            return "http://..../Falso.gif";

    }

    protected void Page_Load(object sender, EventArgs e)
    {
        libreria.ModuloWeb.DataBind(this.GridView1, MioModulo.StringaConnessioneTest, "select si_no from campi", null);
        
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Pagina senza titolo</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server">
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <img alt='<%# ControlloStatus((bool)Eval("si_no")) %>' src='<%# ControlloStatus((bool)Eval("si_no")) %>' />
                    </ItemTemplate>
                </asp:TemplateField>
                
            </Columns>
        </asp:GridView>
    
    </div>
    </form>
</body>
</html>