图像轮播不使用转发器显示数据库中的图像

时间:2017-01-13 16:53:08

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

我试图通过检索存储在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时出现的内容:

snip1

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

有谁知道我可能做错了什么?

1 个答案:

答案 0 :(得分:1)

尝试以下语句,Eval()更适用于单向绑定。您还可以将控件从asp:Image更改为纯HTML img

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