我的画廊中有fancybox,使用datalist1填充在我的网页中。 当我像这样设置imageUrl和href值时,我的fancybox图像查看器正在工作
<a class="fancybox" rel="group" href="~/Image/Slides/Image1.jpg">
<asp:Image ID="Image1" ImageUrl="~/Image/Slides/Image1.jpg" runat="server" Width="50%"/></a>
现在的问题是, 我没有将ImageUrl设置为我的代码 所以我使用Eval设置imageUrl,像这样
<asp:Image ID="Image1" ImageUrl='<%# Eval("Value") %>' runat="server" Width="50%"/>
这里是我填充
的C#代码protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string[] filePaths = Directory.GetFiles(Server.MapPath("~/Image/Slides/"));
List<ListItem> files = new List<ListItem>();
foreach (string filePath in filePaths)
{
string fileName = Path.GetFileName(filePath);
files.Add(new ListItem(fileName, "~/Image/Slides/" + fileName));
}
DataList1.DataSource = files;
DataList1.DataBind();
}
}
protected void Upload(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/Image/Slides/") + fileName);
Response.Redirect(Request.Url.AbsoluteUri);
}
}
所以为了能够使用fancybox我必须设置href的值, 所以我试着像这样设置它
<asp:DataList ID="DataList1" runat="server" RepeatColumns = "4" CellPadding = "4"
Width="535px">
<ItemTemplate>
<table border="0" cellpadding="0" cellspacing="0" width = "120px">
<tr>
<td align = "center">
<a class="fancybox" rel="group" href='<%# Eval("Value") %>'>
<asp:Image ID="Image1" ImageUrl='<%# Eval("Value") %>' runat="server" Width="50%" class="fancybox"/></a>
</td>
</tr>
<tr>
<td align = "center">
<%# Eval("Text") %>
</td>
</tr>
</table>
</ItemTemplate>
注意href='<%# Eval("Value") %>'
这意味着说什么是imageurl的价值,这将是我心中的href值,它应该是
但它不是因为每次我点击图像我的fancybox不工作
这是点击图片后发生的事情
请帮帮我 非常感谢你
答案 0 :(得分:2)
只需将HTML a
标记更改为属于asp:HyperLink
的{{1}},就像这样。
System.Web.UI.WebControls
原因:HTML控件无法解析“〜/”