Solved

dropdownlist has a SelectedValue which is invalid because it does not exist in the list of items

Posted on 2006-07-14
5
394 Views
Last Modified: 2008-02-01
I have a dropdownlist ("ddlYear") in a formsview that is populated with years (used for the user's birthdate). I set the selectedvalue to:

Year(DataBinder.Eval(Container.DataItem, "BirthDate"))

I also check that the datetime value I'm grabbing from the database is included in the dropdownlist. However, when I load the page it gives me this error:

'ddlYear' has a SelectedValue which is invalid because it does not exist in the list of items.
Parameter name: value

I bound the item to a text box to see if the year is being grabbed, and it is.

The strange thing is that if I set the selected value to: Right((DataBinder.Eval(Container.DataItem, "BirthDate")), 4)

it works!

Any idea why this is happening. I'd prefer to use the "Year" instead of "Right"

Thanks.
0
Comment
Question by:Skytide
  • 3
  • 2
5 Comments
 

Author Comment

by:Skytide
ID: 17113454
Ok, it gets even weirder. When I have the code below, it works.

</asp:DropDownList>&nbsp;<asp:DropDownList ID="ddlYear" runat="server" SelectedValue='<%# Right((DataBinder.Eval(Container.DataItem, "BirthDate")), 4) %>'>
                <asp:ListItem Value="1979">1979</asp:ListItem>
                <asp:ListItem Value="1980">1980</asp:ListItem>
                <asp:ListItem Value="1981">1981</asp:ListItem>
                <asp:ListItem Value="1982">1982</asp:ListItem>
                <asp:ListItem></asp:ListItem>

BUT when I remove the last blank list item (see below), it gives me the same error.

</asp:DropDownList>&nbsp;<asp:DropDownList ID="ddlYear" runat="server" SelectedValue='<%# Right((DataBinder.Eval(Container.DataItem, "BirthDate")), 4) %>'>
                <asp:ListItem Value="1979">1979</asp:ListItem>
                <asp:ListItem Value="1980">1980</asp:ListItem>
                <asp:ListItem Value="1981">1981</asp:ListItem>
                <asp:ListItem Value="1982">1982</asp:ListItem>

This really doesn't make any sense to me.

0
 
LVL 7

Expert Comment

by:pradeepsudharsan
ID: 17113491
hi,

Convert the year,month,day to integer
u can try like this

CInt(Year(DataBinder.Eval(Container.DataItem, "BirthDate")))
or use
CType(Year(DataBinder.Eval(Container.DataItem, "BirthDate")),integer)

regards
Pradeep

0
 
LVL 7

Accepted Solution

by:
pradeepsudharsan earned 500 total points
ID: 17113524
or
Convert the year,month,day to string
u can try like this

CString(Year(DataBinder.Eval(Container.DataItem, "BirthDate")))
or use
CType(Year(DataBinder.Eval(Container.DataItem, "BirthDate")),String)


or pass  the value to any java script variable and convert it to string
0
 

Author Comment

by:Skytide
ID: 17115222
I still get the same error. Maybe I can set the SelectedValue in the code behind, in the DataBound Event. I'm thinking I can extract the date from a hidden field that is set to (bind("BirthDate")). Is there a way to extract the date from the DataBound event w/o using a hidden field?
0
 

Author Comment

by:Skytide
ID: 17139662
I just ended up using a hidden field, finding the control in the code behind and setting the selected value of my dropdownlist to the hidden field.
0

Featured Post

Secure Your Active Directory - April 20, 2017

Active Directory plays a critical role in your company’s IT infrastructure and keeping it secure in today’s hacker-infested world is a must.
Microsoft published 300+ pages of guidance, but who has the time, money, and resources to implement? Register now to find an easier way.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article discusses the ASP.NET AJAX ModalPopupExtender control. In this article we will show how to use the ModalPopupExtender control, how to display/show/call the ASP.NET AJAX ModalPopupExtender control from javascript, how to show/display/cal…
I recently went through the process of creating a Calendar Control of events with the basis of using a database to keep track of the dates that are selectable, one requirement was to have the selected date pop-up in a simple lightbox.  At first this…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question