我的图库中有一个用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>
                &nbsp;&nbsp;

现在的问题是,
我没有设置我代码后面的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>
                &nbsp;&nbsp;

            </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/

10-12 15:22