我的图库中有一个用datalist1填充在网页中的fancybox。
当我像这样设置imageUrl和ref值时,我的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%"/>
这是我用来填充
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,我必须设置ref的值,
所以我试着把它设置成这样
<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的值应该是但这并不是因为每次我点击图片时,我的fancybox都不工作
下面是点击图片后发生的事情
请帮帮我
非常感谢你
最佳答案
只需将HTMLa
标记更改为asp:HyperLink
,它就属于这样的System.Web.UI.WebControls
。
<asp:HyperLink runat="server" CssClass="fancybox" rel="group" NavigateUrl='<%# Eval("Value") %>'>
<asp:Image ID="Image1" runat="server"
ImageUrl='<%# Eval("Value") %>'
Width="50%" />
</asp:HyperLink>
原因:无法解析HTML控件的“~/”
关于javascript - fancybox href =“imageURL”,在datalist1中使用填充的image1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30857932/