【问题标题】:Image Carousel Not Displaying Images from Database Using Repeater图像轮播不使用中继器显示来自数据库的图像
【发布时间】:2017-01-13 16:53:07
【问题描述】:

我正在尝试通过检索存储在 SQL Server 表中的路径来在轮播中显示图像。

下面是我的 ASPX:

<div id="myCarousel" class="carousel slide">
                <!-- Wrapper for slides -->
                <div class="carousel-inner">
                    <asp:Repeater ID="Rgallary" runat="server">
                        <ItemTemplate>
                            <div class="item">
                                <div class="item active">
                                    <asp:Image ID="imgId" runat="server" ImageUrl='<%# Bind("filename", "~/SlideImages/{0}") %>' />
                                </div>
                            </div>
                        </ItemTemplate>
                    </asp:Repeater>
                </div>
            </div>

这是我的代码隐藏:

    protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        bindslide();
    }
}


public void bindslide()
{
    SqlConnection conn;
    string connectionStringR = ConfigurationManager.ConnectionStrings[
        "BallinoraDBConnectionString1"].ConnectionString;
    conn = new SqlConnection(connectionStringR);
    SqlCommand cmd = new SqlCommand("SELECT * FROM SlideShowTable", conn);
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataSet ds = new DataSet();
    da.Fill(ds);
    Rgallary.DataSource = ds;
    Rgallary.DataBind();

    conn.Dispose();
    conn.Close();
}

下面也是我的表结构:

CREATE TABLE [dbo].[SlideShowTable] (
[ID]        INT           IDENTITY (1, 1) NOT NULL,
[filename]  VARCHAR (250) NULL,
[imageDesc] VARCHAR (250) NULL,
[groupNo]   INT           NULL

);

这是我检查 div 时出现的内容:

当我运行项目时,页面显示,但当前没有显示图像。

有谁知道我做错了什么?

【问题讨论】:

  • 通过检查元素检查你的图像url以检查路径
  • @Curiousdev 嗨,我检查了页面,并发布了我在上面找到的内容。我认为这条路很有意义。当我在检查时将鼠标悬停在这些图像链接上时,会显示图像的缩略图
  • 你的图片路径对吗?第二件事
    删除一个 div,因为 class="item" 申请了两次,它将停止工作检查此fiddle 是否相同
  • @Curiousdev 是的,图片路径是正确的。我在项目的其他部分使用了这个 ImageURL。只有当我尝试将其集成到轮播中时,我才会遇到问题。我还删除了 div class="item active"
  • @Curiousdev 我刚刚删除了轮播 div,并保留了中继器以查看是否会显示图像,是的,当我这样做时它们正在显示,所以路径是正确的跨度>

标签: c# jquery asp.net sql-server twitter-bootstrap


【解决方案1】:

试试下面的语句,Eval() 更适合单向绑定。您还可以将控制从 asp:Image 更改为纯 HTML img

<img alt="" style='height: 75px; width: 75px' src='<%# Eval("~/SlideImages/"+ filename) %>'

【讨论】:

  • 此解决方案不起作用。我已经复制了它,我得到的错误是“文件名”在这个上下文中不存在。
猜你喜欢
相关资源
最近更新 更多
热门标签