如何在每个动态创建的ImageButton周围包装超链接?Visual Studio
How to wrap a hyperlink around each dynamically created ImageButton? Visual Studio
我正在尝试为一个网站创建一个图片库。我正在使用Visual Studio 2013高级版,并尝试使用Colorbox jQuery lightbox插件来显示图像。我已经让插件在一个简单的web表单中工作。现在我正试图让它与我的主代码一起工作。它似乎主要通过将一个类(在本例中称为"group1")应用于锚标记元素来工作。我创建了一个文件上传控件,并将其设置为将上传的图像文件显示为页面面板中的图像按钮。加载页面后,它会在面板中显示任何图像(当前位于"数据"文件夹中)。一切都很好。
我希望能够点击一个图像按钮,Colorbox插件会像以前一样显示它(举一个简单的例子,我将一个类应用到锚标记)。然而,它不起作用。我认为原因是我将类应用于ImageButton,而不是锚标记。我已经尝试了以下代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
namespace imageGalleryTest
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
uploadImage();
}
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
string filename = FileUpload1.FileName;
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/Data/" + filename));
}
Response.Redirect("~/WebForm1.aspx");
}
private void uploadImage()
{
foreach (string strFileName in Directory.GetFiles(Server.MapPath("~/Data/")))
{
ImageButton imageButton = new ImageButton();
FileInfo fileInfo = new FileInfo(strFileName);
imageButton.ImageUrl = "~/Data/" + fileInfo.Name;
imageButton.Width = Unit.Pixel(100);
imageButton.Height = Unit.Pixel(100);
imageButton.Style.Add("padding", "5px");
imageButton.Click += new ImageClickEventHandler(imageButton_Click);
//imageButton.CssClass = "group1";
Panel1.Controls.Add(imageButton);
}
}
private void imageButton_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect(((ImageButton)sender).ImageUrl);
}
}
}
现在,当我点击一个图像按钮时,它会显示背景变暗的图像,但不会对其应用任何颜色框效果。
我试着取消这一行的注释,但没有帮助:
//imageButton.CssClass = "group1";
我尝试在页面上创建一个超链接,当单击图像按钮时,将图像按钮的图像url分配给超链接的导航url。然后,当我点击超链接时,它会很好地工作,并将颜色框效果应用于图像。
private void imageButton_Click(object sender, ImageClickEventArgs e)
{
HyperLink1.NavigateUrl = ((ImageButton)sender).ImageUrl;
}
然后我尝试让它自动指向图像url,而不必点击带有以下内容的超链接:
private void imageButton_Click(object sender, ImageClickEventArgs e)
{
HyperLink1.NavigateUrl = ((ImageButton)sender).ImageUrl;
Response.Redirect(HyperLink1.NavigateUrl);
}
但它没有起作用,它只是在黑暗的背景下像以前一样显示图像。
我觉得如果我可以在创建的每个图像按钮周围包装一个锚标记,并将所需的类应用于该锚标记,那么它可能会工作,但我不知道如何工作。
非常感谢您的帮助。
我最终以不同的方式完成了这项工作,因为我对上面的代码没有任何运气。我放弃了image按钮,而是在代码后面创建了一个包装在img标记周围的超链接。因此,对于文件夹中的每个文件,它都会创建一个图像,该图像周围有一个锚标记,并应用了必要的类。
private void uploadImage()
{
string thumbnails = "<div id='"photoThumbnailContainer'">";
foreach (string strFileName in Directory.GetFiles(Server.MapPath("~/Data/")))
{
FileInfo fileInfo = new FileInfo(strFileName);
thumbnails += "<a href='"Data/" + fileInfo.Name + "'" class='"group1'"><div class='"thumbnails'"><img src='"Data/" + fileInfo.Name + "'" height='"200px'" width='"200px'" /></div></a>";
}
thumbnails += "</div>";
lblImageThumbnails.Text = thumbnails;
}
- 如何将函数包装在函数中以避免代码重复
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 为什么要包装每一个原型“;类“;JS中具有匿名函数的对象
- 在'物品包装'
- 如何在jQuery中包装两个元素的组
- 如何在包装功能中咕哝concat
- 用类javascript包装span标记中字符串中的字符索引
- 在jquery$({})中包装纯javascript对象
- 从工作日结束到下一个工作日开始的完整日历JS包装时间
- 如何制作href链接和<李>在一个包装中
- jquery在元素中查找文本节点,并使用标记进行连接和包装
- 如何在每个动态创建的ImageButton周围包装超链接?Visual Studio
- 如何在输入中选择的文本周围包装html标记
- HTML5画布的包装:如何使(静态)形状在画布边缘周围继续
- JQuerywrap()函数只在第一次循环时正确地将链接包装在图像周围
- Instafeed js 在每 4 张图像周围添加包装器
- 为什么用Javascript RegEx在文本周围包装标签会将标签显示为文本
- 如何使用javascript在字符周围包装元素
- 在我的代码周围添加这个包装器是什么
- 是否可以在SVG元素中的circle元素周围包装一个锚标记?