Repeater control and Eval()

  • Thread starter Thread starter Peter Larsen [CPH]
  • Start date Start date
P

Peter Larsen [CPH]

Hi,

I was doing some repeater control tests last day, and there was one thing i
couldn't figure out.
Please look at the following sample code:

In the cs file:
string[] s = new string[] { "1", "2" };
repeatertest.DataSource = s;
repeatertest.DataBind();

In the aspx file:
<asp:Repeater ID="repeatertest" runat="server">
<ItemTemplate>
<tr>
<td>
<%#Eval(**** What to write here ****) %>
</tr>
</ItemTemplate>
</asp:Repeater>

I want the Repeater to write out the contents from property "s", but i don't
know how to write the Eval() method.

BR
Peter Larsen
 
Hi,

I was doing some repeater control tests last day, and there was one thingi
couldn't figure out.
Please look at the following sample code:

In the cs file:
        string[] s = new string[] { "1", "2" };
        repeatertest.DataSource = s;
        repeatertest.DataBind();

In the aspx file:
        <asp:Repeater ID="repeatertest" runat="server">
            <ItemTemplate>
                <tr>
                    <td>
                        <%#Eval(****  What to write here  ****) %>
                </tr>
            </ItemTemplate>
        </asp:Repeater>

I want the Repeater to write out the contents from property "s", but i don't
know how to write the Eval() method.

BR
Peter Larsen

I am not quite sure but try this: <%# (string)Container.DataItem %> ,
this should work, at least I have used this way in past but i bound to
may be ArrayList or Table.
 
Hi Alex,

Thank you for your comment - unfortunately it doesn't work with string
array.
It does know that the first item is "1", but it is not delivered in away
that is acceptable for #Eval.

BR
Peter


On Aug 25, 12:57 pm, "Peter Larsen [CPH]"

I am not quite sure but try this: <%# (string)Container.DataItem %> ,
this should work, at least I have used this way in past but i bound to
may be ArrayList or Table.
 
you use eval when you wany to use refection to access properties of the
dataitem. in ytour case the dataitem is a string and has no usefull
properties, so you should not use eval. follow the above suggestion or if you
don't want a cast:

<%# Container.DataItem.ToString() %>


-- bruce (sqlwork.com)
 
Hi Peter,

Since the item in the datasource is not a complex class that has column
properties, you should directly reference it via "Container.DataItem". Here
is a complete example:

=========aspx page============
<form id="form1" runat="server">
<div>

<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<hr />
item: <%# Container.DataItem.ToString() %>
</ItemTemplate>
</asp:Repeater>

</div>
</form>
=====================

==========code behind=============
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string[] items = new string[] { "aa", "bb", "cc", "dd" };
Repeater1.DataSource = items;
Repeater1.DataBind();
}
}
====================

Hope this helps.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/en-us/subscriptions/aa948868.aspx#notifications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://support.microsoft.com/select/default.aspx?target=assistance&ln=en-us.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.


--------------------
From: "Peter Larsen [CPH]" <[email protected]>
References: <[email protected]>
Subject: Re: Repeater control and Eval()
Date: Mon, 25 Aug 2008 12:46:02 +0200
Hi Alex,

Thank you for your comment - unfortunately it doesn't work with string
array.
It does know that the first item is "1", but it is not delivered in away
that is acceptable for #Eval.

BR
Peter


On Aug 25, 12:57 pm, "Peter Larsen [CPH]"

I am not quite sure but try this: <%# (string)Container.DataItem %> ,
this should work, at least I have used this way in past but i bound to
may be ArrayList or Table.
 
Hi Bruce,

Thanks for the answer - of course, this is the way to do it :-)

BR
Peter
 
Hi Steven,

Thanks for the code sample - as always copy/pastable ready :-)
I appreciate your effort to make it as easy as possible.

BR
Peter
 
Back
Top