Kevin
Kevin

Reputation: 4848

Why am I getting a "server tag not well formed error" on the following code?

I know I'm missing something, but my limited experience is hindering me. Any advice? Thanks for any help!

Page code:

<asp:Repeater ID="Repeater1" runat="server">
            <ItemTemplate>
                <asp:Image runat="server" ID="image1" ImageUrl="<%# DataBinder.Eval(Container.DataItem, "url") %>" />
            </ItemTemplate>
        </asp:Repeater>

Code behind:

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

Error: enter image description here

Upvotes: 0

Views: 1295

Answers (2)

Chris Dixon
Chris Dixon

Reputation: 9167

It's because your "" here are getting mix-matched around your URL parameter:

<asp:Image runat="server" ID="image1" ImageUrl="<%# DataBinder.Eval(Container.DataItem, "url") %>" />

should be:

<asp:Image runat="server" ID="image1" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "url") %>' />

Upvotes: 3

Bhavin
Bhavin

Reputation: 76

Use single quotes as

ImageUrl='<%# DataBinder.Eval(Container.DataItem, "url") %>'

Upvotes: 6

Related Questions