例如,我有这个ImageViewer.ascx UserControl:
<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实现此目的? (或者我能够)
答案 0 :(得分:1)
您当前正在使用HyperLink控件,该控件将用户定向到NavigateUrl属性的值。如果它转到一个单独的页面,它将如何修改ProductImageBig控件的URL?
一个选项是将HyperLink控件更改为ImageButton,然后在代码隐藏中为“OnCommand”属性指定一个方法。
在后面的代码中,您可以将sender对象强制转换为ImageButton,检索其ImageURL,然后设置ProductImageBig的URL
public void DisplayPhoto(object sender, CommandEventArgs args)
{
ProductImageBig.NavigateUrl = ((ImageButton)sender).ImageUrl;
updatePanel.Update();
}
如果您在名为“updatePanel”的UpdatePanel中包含整个标记,并且您已正确设置属性,则可以在设置Url后更新它。