473,626 Members | 3,936 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

asp:repeater and hashtable - also in languages.cshar p

Sorry about the multi post, I thought I'd sent to both groups simultaneously but
somehow it failed to find this one the first time.

I'm having a problem binding an asp:repeater control to a Hashtable. Originally
my code was:

<asp:Repeater id="rptFamily" runat="server" DataSource="<%# family %>">
<ItemTemplate >
<%# DataBinder.Eval (Container.Data Item, "Key") %> =
<%# DataBinder.Eval (Container.Data Item, "Value") %>
</ItemTemplate>
</asp:Repeater>

which was bound to a Hashtable and all works fine. I then started reading that
Databind.Eval was an overkill, I could just use:

<asp:Repeater id="rptFamily" runat="server" DataSource="<%# family %>">
<ItemTemplate >
<%# Container.DataI tem.Key %> =
<%# Container.DataI tem.Value %>
</ItemTemplate>
</asp:Repeater>

but although I can build the site when accessing the page I get an error that :

'object' does not contain a definition for 'Key'

pointing to the first changed line. I've found lots of examples on the Web
showing this second version, are they all perhaps from a beta version or is it
something else?

Thanks

--

Joe

Nov 19 '05 #1
3 2531
Joe:

Try:

<%# ((DictionaryEnt ry)Container.Da taItem).Key %>
<%# ((DictionaryEnt ry)Container.Da taItem).Value%>

Container.DataI tem is of type object
object doesn't container a "key" or "value" property

You need to explicitely cast it to the underlying type that is being bound.
When you are binding to a DataSet/DataTable/DataView, Container.DataI tem is
always a "DataRowView".. .

DataBinder.Eval does have performance implications, but on the flip side it
lets you change the underlying datasource implementation without breaking
your code...ie, using DataBinder.Eval you could switch to a dataset, and as
long as it had a property named "key" and "value" everything would continue
to work...

Karl
--
MY ASP.Net tutorials
http://www.openmymind.net/ - New and Improved (yes, the popup is annoying)
http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
come!)
"Joe Fawcett" <jo********@new sgroups.nospam> wrote in message
news:%2******** ********@TK2MSF TNGP15.phx.gbl. ..
Sorry about the multi post, I thought I'd sent to both groups simultaneously but somehow it failed to find this one the first time.

I'm having a problem binding an asp:repeater control to a Hashtable. Originally my code was:

<asp:Repeater id="rptFamily" runat="server" DataSource="<%# family %>">
<ItemTemplate >
<%# DataBinder.Eval (Container.Data Item, "Key") %> =
<%# DataBinder.Eval (Container.Data Item, "Value") %>
</ItemTemplate>
</asp:Repeater>

which was bound to a Hashtable and all works fine. I then started reading that Databind.Eval was an overkill, I could just use:

<asp:Repeater id="rptFamily" runat="server" DataSource="<%# family %>">
<ItemTemplate >
<%# Container.DataI tem.Key %> =
<%# Container.DataI tem.Value %>
</ItemTemplate>
</asp:Repeater>

but although I can build the site when accessing the page I get an error that :
'object' does not contain a definition for 'Key'

pointing to the first changed line. I've found lots of examples on the Web
showing this second version, are they all perhaps from a beta version or is it something else?

Thanks

--

Joe

Nov 19 '05 #2
"Karl Seguin" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME net> wrote in
message news:uu******** ******@tk2msftn gp13.phx.gbl...
Joe:

Try:

<%# ((DictionaryEnt ry)Container.Da taItem).Key %>
<%# ((DictionaryEnt ry)Container.Da taItem).Value%>

Container.DataI tem is of type object
object doesn't container a "key" or "value" property

You need to explicitely cast it to the underlying type that is being bound.
When you are binding to a DataSet/DataTable/DataView, Container.DataI tem is
always a "DataRowView".. .

DataBinder.Eval does have performance implications, but on the flip side it
lets you change the underlying datasource implementation without breaking
your code...ie, using DataBinder.Eval you could switch to a dataset, and as
long as it had a property named "key" and "value" everything would continue
to work...

Karl
--
MY ASP.Net tutorials
http://www.openmymind.net/ - New and Improved (yes, the popup is annoying)
http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
come!)

Thanks, it works. So does that mean that the example code I've seen, using a
HashTable, was wrong?

--

Joe
Nov 19 '05 #3
Since I haven't seen the example code, I can't really say...

Karl

--
MY ASP.Net tutorials
http://www.openmymind.net/ - New and Improved (yes, the popup is annoying)
http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
come!)
"Joe Fawcett" <jo********@new sgroups.nospam> wrote in message
news:u8******** ******@TK2MSFTN GP10.phx.gbl...
"Karl Seguin" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME net> wrote in message news:uu******** ******@tk2msftn gp13.phx.gbl...
Joe:

Try:

<%# ((DictionaryEnt ry)Container.Da taItem).Key %>
<%# ((DictionaryEnt ry)Container.Da taItem).Value%>

Container.DataI tem is of type object
object doesn't container a "key" or "value" property

You need to explicitely cast it to the underlying type that is being bound. When you are binding to a DataSet/DataTable/DataView, Container.DataI tem is always a "DataRowView".. .

DataBinder.Eval does have performance implications, but on the flip side it lets you change the underlying datasource implementation without breaking your code...ie, using DataBinder.Eval you could switch to a dataset, and as long as it had a property named "key" and "value" everything would continue to work...

Karl
--
MY ASP.Net tutorials
http://www.openmymind.net/ - New and Improved (yes, the popup is annoying) http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
come!)

Thanks, it works. So does that mean that the example code I've seen, using

a HashTable, was wrong?

--

Joe

Nov 19 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
1595
by: Joe Fawcett | last post by:
I'm having a problem binding an asp:repeater control to a Hashtable. Originally my code was: <asp:Repeater id="rptFamily" runat="server" DataSource="<%# family %>"> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem, "Key") %> = <%# DataBinder.Eval(Container.DataItem, "Value") %> </ItemTemplate> </AlternatingItemTemplate> </asp:Repeater>
2
3803
by: Peter Kirk | last post by:
Hi are there any "gotchas" with using an asp:repeater that means that the "onclick" method of a LinkButton created in the repaeter does not fire? I at least cannot get it to work. I have a webpage where the user can enter some search criteria (via dropdowns and textboxes) and then perform a search and have results presented. The results list includes linkbuttons which the user can click on to obtain more detailed results.
5
8254
by: Scott Lyon | last post by:
I am having a strange problem. The program is a bit complex, but I'll try to simplify what I can. I apologize if this is complicated, but I think this would still be simpler than posting a bunch of source code. If you want me to post code, though, just say so. In a nutshell, I've got an ASP.NET application that has one main ASPX page. On that ASPX page, it has a user control (an ASCX) that displays the actual data and controls I need.
4
3634
by: Eric | last post by:
Hello, I have the following dataset that I want to bind to a repeater to be displayed as a table. Owner Animal Volume --------------------------- Eric Dog 6 Eric Cat 3 Eric Gerbil 1 Eric Bird 10
3
2044
by: Kelly Leahy | last post by:
I'm using an Asp:Repeater control with a text box in the item templates. This is for a system that has a number of items that the user can edit and I'd like to generate them based on a list. However, when the user clicks a save button (not in the asp:repeater, but on the form itself) I would like to (on postback) update the values in the database and redisplay the page. I can't figure out how to reference the controls generated by...
8
3439
by: dhnriverside | last post by:
Hi I'm using an asp:repeater and its DataSource/DataBind system to show a number of records from the database. I want to highlight the latest record (which will be the highest ID). Any thoughts on how to do this with the repeater? Cheers
1
4888
by: Fred Dag | last post by:
As far as I can work out when using the OnTextChanged event I cannot get the TextBox and Labels values when the event fires as they are populated by a <asp:repeater and so don't have values. If I try to give the repeater values by removing if (!IsPostBack) {} from the
1
17035
by: Timbo | last post by:
Hi all, This is my first message here so i'll try and include all the information that will help you help me out, if possible. Basically I am using C# in ASP.NET 2.0 and have a Repeater control in my aspx page with two image buttons, one for an edit command, another a delete command. Here is a cut down code fragment. ...
2
3875
by: bissatch | last post by:
Hi, I am trying to output a list of checkboxes. Using ASP .NET controls, I was able to create the following: <label for="colour_red">Red: </label><asp:CheckBox ID="colour_red" runat="server" /><br /> <label... <label... <label...
0
8266
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8199
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8638
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8365
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8505
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7196
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5574
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4092
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
1511
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.