2010-03-30 40 views
0

例如改变图像的来源,我有这个ImageViewer.ascx用户控件:通过点击缩略图使用的UpdatePanel

<div class="ImageTumbnails"> 
    <asp:ListView ID="ImageList" runat="server" ItemPlaceholderID="ItemContainer"> 
    <LayoutTemplate> 
     <asp:PlaceHolder ID="ItemContainer" runat="server" /> 
    </LayoutTemplate> 
    <ItemTemplate> 
     <asp:HyperLink runat="server" 
     NavigateUrl='<%# Link.ToProductImage(Eval("ImageFile").ToString())%>'> 
     <asp:Image runat="server" ImageUrl='<%# Link.ToThumbnail(Eval("ImageFile").ToString()) %>' /> 
     </asp:HyperLink> 
    </ItemTemplate> 
    </asp:ListView> 
</div> 
<div class="ImageBig"> 
    <asp:Image ID="ProductImageBig" runat="server" ImageUrl="" /> 
</div> 

当点击缩略图它将改变ProductImageBig源与它的超链接目标。

我该如何使用UpdatePanel实现这个功能? (或者我将能够)

回答

1

您目前正在使用HyperLink控件,它将引导用户使用NavigateUrl属性的值。如果它转到单独的页面,它将如何修改ProductImageBig控件的URL?

一种选择是将HyperLink控件更改为ImageButton,然后在代码隐藏中为“OnCommand”属性指定一个方法。

在后面的代码,你可以投发件人对象所涉及的的ImageButton,检索其IMAGEURL,然后设置你的ProductImageBig

public void DisplayPhoto(object sender, CommandEventArgs args) 
{ 
    ProductImageBig.NavigateUrl = ((ImageButton)sender).ImageUrl; 
    updatePanel.Update(); 
} 

的URL。如果你有一个UpdatePanel包围了整个标记命名“updatePanel”,你有正确的属性设置,你可以在设置Url后更新它。

+0

是的,我知道。不要被这个混淆,我只是在考虑其他的选择。你的解决方案对我来说似乎合理,我会试一试。 – Batu 2010-03-30 14:49:28