Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
E aí galera, beleza?
Eu tenho um sistema onde é apresentado os detalhes do produto. Tem uma foto default no tamanho normal e as outras fotos em miniaturas em baixo em uma ListView. Só que quando clica na foto da ListView pra ver no tamanho normal ta gerando um postback na página inteira, e eu não queria que isso acontecesse, então coloquei um UpdatePanel, ficando da seguinte forma:
<div class="picture">
<asp:UpdateProgress ID="updateProgressPictures" runat="server" AssociatedUpdatePanelID="UpdatePanelPictures">
<ProgressTemplate>Carregando imagem... </ProgressTemplate>
</asp:UpdateProgress>
<div class="big" style="margin-top:10px;margin-left:10px;">
<asp:HyperLink ID="lnkMainLightbox2" runat="server" CssClass="cloud-zoom">
<asp:Image id="defaultImage" runat="server" />
</asp:HyperLink>
<asp:Label ID="labelCliqueParaAmpliar" runat="server" Text="<% $NopResources:Products.CliqueParaAmpliar %>"></asp:Label>
<div class="big">
<asp:UpdatePanel ID="UpdatePanelPictures" runat="server" UpdateMode="Always">
<ContentTemplate>
<asp:ListView ID="lvProductPictures" runat="server" GroupItemCount="3">
<LayoutTemplate>
<table style="margin-top: 10px;">
<asp:PlaceHolder runat="server" ID="groupPlaceHolder"></asp:PlaceHolder>
</table>
</LayoutTemplate>
<GroupTemplate>
<tr>
<asp:PlaceHolder runat="server" ID="itemPlaceHolder"></asp:PlaceHolder>
</tr>
</GroupTemplate>
<ItemTemplate>
<td align="left">
<asp:ImageButton DescriptionUrl="<%#this.PictureService.GetPictureUrl((Picture)Container.DataItem, 300)%>"
AlternateText="<%#this.PictureService.GetPictureUrl((Picture)Container.DataItem)%>"
ImageUrl="<%#this.PictureService.GetPictureUrl((Picture)Container.DataItem, 70)%>"
runat="server" ID="imageButton" OnClick="imageButton_click" />
</td>
</ItemTemplate>
</asp:ListView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:ImageButton CssClass="pictureVideo" runat="server" ID="imageVideo" ImageUrl="~/Scripts/images/video.jpg" OnClick="imageVideo_Click" />
</div>
</div>
Só que o problema é que agora não está mudando a foto. Ele termina de dar o post e não troca a foto. Tenho alguns javascripts referenciados na página, e acho que o problema deve ser isso, mas não sei como resolver. Já tentei remover estes javascripts da página e registrar via C# fazendo assim:
string scriptUpdateMainImage = "meus javascripts";
ScriptManager.RegisterStartupScript(UpdatePanelPictures, UpdatePanelPictures.GetType(), Guid.NewGuid().ToString(), scriptUpdateMainImage.ToString(), false);
Aqui está o evento do botão em C#:
protected void imageButton_click(object sender, ImageClickEventArgs e)
{
panelVideo.Visible = false;
ImageButton imageButtonSelecionado = (ImageButton)sender;
this.defaultImage.ImageUrl = imageButtonSelecionado.DescriptionUrl;
lnkMainLightbox2.Attributes["href"] = imageButtonSelecionado.AlternateText;
if (lnkMainLightbox2.Visible == false)
{
lnkMainLightbox2.Visible = true;
}
if (defaultImage.Visible == false)
{
defaultImage.Visible = true;
}
}
Por favor, alguém me ajude :o
Carregando comentários...