我的应用程序是一个图片库和一个Repeater控件我列出了缩略图(这是在一个单独的文件夹,除了全尺寸的图像)。当点击一个缩略图时,应该在图像控件“fullSizeImage”中显示一个满量程图像,并且应该创建一个查询字符串,该字符串(带有页面的GET)以全尺寸显示该特定图像。创建一个查询字符串时点击图像(asp.net/c#)
查询字符串的代码已完成,但问题是我没有线索将它放在哪里(创建查询),因为HyperLink控件不支持事件点击。有没有办法使用例如Repeater ItemCommand,或者我怎样才能完成我想要的东西?
谢谢!
从Default.aspx的:
<asp:Image ID="fullSizeImage" runat="server" />
<asp:Repeater ID="ImageRepeater" runat="server" DataSourceID="" >
<ItemTemplate>
<asp:HyperLink ID="ImageHyperLink" NavigateUrl='<%# Eval("Name", "~/Images/{0}") %>' runat="server" CssClass="thumbnails" >
<asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("Name", "~/Images/Thumbnails/{0}") %>' CssClass="thumbnail" />
</asp:HyperLink>
</ItemTemplate>
</asp:Repeater>
从后面的代码:
protected void Page_Load(object sender, EventArgs e) {
var directory = new DirectoryInfo(Gallery.PhysicalApplicationPath + "/Images");
var theFiles = directory.GetFiles();
ImageRepeater.DataSource = theFiles;
ImageRepeater.DataBind();
var dataName = Request.QueryString["name"];
fullSizeImage.ImageUrl = dataName;
}
创建查询字符串的(我不知道往哪里放):
string str = ImageUrl; <- the url of the clicked image
Response.Redirect("default.aspx?name=" + Server.UrlEncode(str);
天哪,这只是一个非常棒的解决方案,它非常棒。非常感谢! – holyredbeard 2012-02-21 20:14:47