我知道我错过了一些东西,但我的有限经验阻碍了我。有什么建议?谢谢你的帮助!
网页代码:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<asp:Image runat="server" ID="image1" ImageUrl="<%# DataBinder.Eval(Container.DataItem, "url") %>" />
</ItemTemplate>
</asp:Repeater>
代码背后:
protected void Page_Load(object sender, EventArgs e)
{
var dt = new DataTable("images");
dt.Columns.Add("url");
dt.Rows.Add("http://www.boeing.com/assets/images/defense-space/military/p8a/images/P8-A_index.jpg");
dt.Rows.Add("http://www.tractorbynet.com/forums/attachments/power-trac/258427d1333048884-p-8-replacing-p3c-p-8a_mma_changed_wing_lg.jpg");
var ds = new DataSet();
ds.Tables.Add(dt);
Repeater1.DataSource = ds.Tables[0];
Repeater1.DataBind();
}
错误:
答案 0 :(得分:5)
使用单引号
ImageUrl='<%# DataBinder.Eval(Container.DataItem, "url") %>'
答案 1 :(得分:3)
这是因为你的“”在这里围绕你的网址参数混合匹配:
<asp:Image runat="server" ID="image1" ImageUrl="<%# DataBinder.Eval(Container.DataItem, "url") %>" />
应该是:
<asp:Image runat="server" ID="image1" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "url") %>' />