fancybox href =" imageURL"在datalist1中使用填充的image1

时间:2015-06-16 02:36:46

标签: javascript c# jquery html asp.net

我的画廊中有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>
                &nbsp;&nbsp;

现在的问题是, 我没有将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>
                &nbsp;&nbsp;

            </td>
        </tr>
        <tr>
            <td align = "center">
                <%# Eval("Text") %>


            </td>
        </tr>
    </table>
</ItemTemplate>

注意href='<%# Eval("Value") %>'这意味着说什么是imageurl的价值,这将是我心中的href值,它应该是 但它不是因为每次我点击图像我的fancybox不工作 这是点击图片后发生的事情 enter image description here

请帮帮我 非常感谢你

1 个答案:

答案 0 :(得分:2)

只需将HTML a标记更改为属于asp:HyperLink的{​​{1}},就像这样。

System.Web.UI.WebControls

原因:HTML控件无法解析“〜/”