Repeater control and Eval()

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
 
A

AleXmanFree

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

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.
 
P

Peter Larsen [CPH]

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.
 
B

bruce barker

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)
 
S

Steven Cheng [MSFT]

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.
 
P

Peter Larsen [CPH]

Hi Bruce,

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

BR
Peter
 
P

Peter Larsen [CPH]

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,767
Messages
2,569,570
Members
45,045
Latest member
DRCM

Latest Threads

Top