2010-03-30 39 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