我试图通过检索存储在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时出现的内容:
当我运行项目时,页面会显示,但当前没有显示图像。
有谁知道我可能做错了什么?
答案 0 :(得分:1)
尝试以下语句,Eval()更适用于单向绑定。您还可以将控件从asp:Image更改为纯HTML img
<img alt="" style='height: 75px; width: 75px' src='<%# Eval("~/SlideImages/"+ filename) %>'