Hola,
si quieres que sea el panel entero el que se haga visible o no, debes contenerlo dentro de otro panel.
Pero tambien puedes hacerlo sólo con un updatePanel y cambiando la propiedad de la imagen.
Código:
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" Visible="false">
<ContentTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl="Invierno.jpg"></asp:Image>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" />
</Triggers>
</asp:UpdatePanel>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</form>
</body>
y en el código de la página el evento que cambia la propiedad:
Código:
protected void Button1_Click(object sender, EventArgs e)
{
//Image1.Visible = !Image1.Visible;
UpdatePanel1.Visible = !UpdatePanel1.Visible;
}
espero que te sirva.
Un saludo