![]() |
|
|
|||||||
![]() |
ASP Net - Accessing array data with Repeater |
|
|
Thread Tools | Search this Thread |
|
|
#1 |
|
Hi,
I have a Repeater control that is databound to an array. This array contains data regarding products (ie. Name, Price, Manufacturer, etc.). I am wondering how do I display data in a control that is contained in the Repeater's ItemTemplate? Here's my example code: Sub BindToArray() 'code for the array omitted here Me.Repeater1.DataSource = products Me.Repeater1.DataBind() End Sub <asp:Repeater> <ItemTemplate> <!-- say that I wanted to bind to the Name field of the array <asp:Label id=Label1 Text=<%# Container.DataItem("Name")%>></asp:Label> </ItemTemplate> </asp:Repeater> Would this code work? Roshawn Roshawn |
|
|
|
|
#2 |
|
Posts: n/a
|
Hi Roshawn,
If you expose the fields you want to display as public properties then one way to reach them is with the DataBinder.Eval method. For example, imagine an array of objects of the following class class (in C# but gives you the idea): class Department { public Department(string name, string description) { this.name = name; Description = description; } public string Name { get { return name; } set { name = value; } } public string Description { get { return description; } set { description = value; } } protected string name; protected string description; } Then you can display them in a repeater item template using: <%# DataBinder.Eval(Container.DataItem, "Name") %> HTH, -- Scott http://www.OdeToCode.com On Fri, 6 Aug 2004 10:22:40 -0500, "Roshawn" <> wrote: >Hi, > >I have a Repeater control that is databound to an array. This array >contains data regarding products (ie. Name, Price, Manufacturer, etc.). > >I am wondering how do I display data in a control that is contained in the >Repeater's ItemTemplate? >Here's my example code: > >Sub BindToArray() > 'code for the array omitted here > Me.Repeater1.DataSource = products > Me.Repeater1.DataBind() >End Sub > ><asp:Repeater> > <ItemTemplate> > <!-- say that I wanted to bind to the Name field of the array > <asp:Label id=Label1 Text=<%# >Container.DataItem("Name")%>></asp:Label> > </ItemTemplate> ></asp:Repeater> > >Would this code work? > >Roshawn > |
|
|
|
#3 |
|
Posts: n/a
|
Thanks Scott for your .NET wisdom. That helps a lot!!!
Roshawn |
|
|
|
#4 |
|
Posts: n/a
|
Ooh, that sample class was ugly. I was experimenting with fields
versus properties. Please ignore the goofy looking destructor - I'm glad the big concept came through. Best of luck! --s On Fri, 06 Aug 2004 14:18:48 -0400, Scott Allen <bitmask@[nospam].fred.net> wrote: >Hi Roshawn, > >If you expose the fields you want to display as public properties then >one way to reach them is with the DataBinder.Eval method. > >For example, imagine an array of objects of the following class class >(in C# but gives you the idea): > >class Department >{ > public Department(string name, string description) > { > this.name = name; > Description = description; > } > > public string Name > { > get { return name; } > set { name = value; } > } > > public string Description > { > get { return description; } > set { description = value; } > } > > protected string name; > protected string description; > >} > >Then you can display them in a repeater item template using: > ><%# DataBinder.Eval(Container.DataItem, "Name") %> > >HTH, -- Scott http://www.OdeToCode.com |
|
|
|
#5 |
|
Posts: n/a
|
Oh man, I meant goofy looking CONstructor - not destructor. It's
Friday but I don't think I've had anything to drink yet! --s On Fri, 06 Aug 2004 17:01:43 -0400, Scott Allen <bitmask@[nospam].fred.net> wrote: >Ooh, that sample class was ugly. I was experimenting with fields >versus properties. Please ignore the goofy looking destructor - I'm >glad the big concept came through. > >Best of luck! > >--s > -- Scott http://www.OdeToCode.com |
|