为什么我在下面的代码中得到“服务器标签没有格式错误”?

时间:2013-04-11 14:25:34

标签: c# asp.net webforms

我知道我错过了一些东西,但我的有限经验阻碍了我。有什么建议?谢谢你的帮助!

网页代码:

<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();
    }

错误: enter image description here

2 个答案:

答案 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") %>' />