How To Programatically Set SelectedValue Of Dropdownlist When It Is Bound To XmlDataSource
Feb 25, 2011
I'm using XmlDataSource as the datasource for a dropdownlist. Now I want to set the SelectedValue of the dropdown when the page initially loads. I tried the OnDataBound event of the dropdown in which I could see the total items but setting the SelectedValue didn't work. In OnDataBinding event, I couldn't even see the total items probably because the list isn't bound yet.
In our asp.net web application we load the dropdown list boxes in the page load. We than set the SelectedValue of each dropdown list box to an object from session. We have event handlers for many of the SelectedIndexChanged events of the drop down lists boxes, but these do not get executed when we set the selected value programmatically.
Someone else mentioned this is by design, and only when a user manually changes the drop down list selected index, will the event get raised.
I would think this is a common scenario of wanting the selectedindexchanged event handled when setting the selectedvalue/selectedindex/listitem's selected property, of a DropDownList. What is the suggested way to handle this? Is there a significant drawback of creating a custom control inherited from DropDownList that has the functionality of raising this event when changing the SelectedIndex or SelectedValue?
I have a dropdownlist in DetailsView to which items are added programmatically during DataBound event. It is working fine in InsertItemTemplate, but in EditItemTemplate i am getting this error "'branchDDL' has a SelectedValue which is invalid because it does not exist in the list of items. Parameter name: value".
When I try to set the selected value for each DropDownList using the values in an object containing data loaded from the database using:heating.SelectedValue = myHome.avgHeatingTemp.ToString(); cooling.SelectedValue = myHome.avgCoolingTemp.ToString();
The SelectedValue for both lists is set first to the value in myHome.avgHeatingTemp, then to the value in myHome.avgCoolingTemp. Heres what the values are for each variable after each step of the process of setting the SelectedValues:
Initial State heating.SelectedValue: 60 cooling.SelectedValue: 60 [code]....
I binded the dropdown from the table Languages, now it shows all the languages:
ViewData("Languages") = New SelectList(objLang, "SysLanguageID", "LanguageName")
Now when I click the edit then the dropdown should show the selectedvalue based on the languageId that is in stored in the Preferences table under the user.If i give the third parameter as the selectedvalue it is showing the selected value but it is not showing the other languages.
It seems to lost all the Dropdownlist controls on postback ... and I save array dropdownlist in Session but I can't get selectedvalue from dynamic dropdownlist. Dropdownlist only get first selectedvalue
I have a databound dropdownlist on a page, where in the page_load I set the selectedValue (inside a 'not isPostBack').
Although the page displays fine and shows the correct item as selected.. inside the page_load if I try and get the selectedValue() and display it to the screen, I always get null... selectedIndex is -1.
I have a button, which when clicked refers to this ddl's selectedValue, and here it pulls through the the expected result.. so how come I can't see it immediately after setting it, while still in page_load?
I have a ASP.Net webform with a DropDownList control. This Dropdown gets it's values from a states table in an ObjectDatasource. The Dropdown contains states spelled out.
If I try to set the drop down to: DropDownStates.SelectdValue = "Ohio"
I get an error that the value does not exist in the dropdown even though it does exist. But if I pad the value with the correct number of spaces to the right, it works like so: DropDownStates.SelectdValue = "Ohio " or DropDownStates.SelectdValue = "Michigan "
How can I either define the dropdown without trailing spaces in the value of the dropwdown or set the SelectedValue with adding trailing spaces?
I have a bit of a problem with a DropDownList I am using. When the user changes the SelectedIndex, they get redirected to the same page, but with a query string on the end based on their selected value.
Because I'm not posting, and redirecting instead, the state of the dropdownbox is not saved, so it always defaults to the first one.But, if I save it in say a session, or set the selectedvalue according to the query string in Page_Load, when the user selects another listitem, the selection they have chosen is overridden by the selection delcared in Page_Load.
I've got a set of cascading dropdowns, but I want the default selectedvalue to be there when when page loads though.Right now, my dropdownlist is defaulting to the first value in the DDL. (ASP.NET C#) and the code (issue is with the "DDL_Assignment" dropdown).
I am trying to do this as asked earlier. The only difference that I found is additional List item that was included in above code.
I tried to use AppendDataBoundItems=true but it is still not working. I also want to set the its default value to the value that was being displayed in label of itemtemplate i.e. DropDownList's SelectedValue='<%# Eval("DepartmentName") %>' but thie property is not available to me in dropdownlist.
In SQL, you can create a query and use a "IN".. Select * from tOffices where OfficeID in ('1', '2', '3'). Is it possible, in my vb.net code behind to check if a selected value is "in" a list of values like this?
If ArrangementID.SelectedValue in ("6","7","99") then...
I have a quick question on my ddl. I have a search page that searches based on the ddl. Once the button is clicked. the result of the search shows on the gridview.Which all works well.Now the problem i am having is that. On my gridview i have a select button that brings out another ddl on an update panel based on the first ddl. When i do this... it goes back to the first record on the ddl and shows a wrong result.. Basically the new ddl is supposed to change on "selectedindexchanged" handler of that gridview which works fine but the selectedvalue is just going back to the first one.
i am using one dropdownlist for showing deptname from DB using cascadingdropdownlist and web services.i want when i select dropdown value it should be display in textbox.but don't know how to do this.tell me what is c# code for this.
I think this needs to be a sticky since this is not solved anywhere that I have been looking... I have been googling this for a while now and came across the answer by shear luck and a simple typo when I was writing the code...
Problem: I have 2 dropdown lists...
ddllist1 and ddlist2... Both are code-behind populated via a sql DB.
they are cascading lists via the ajax control.
I am trying to dynamically populate them with values from a DB for edit reasons.
When I try to get them populated I kept getting the error...
"dropdownlist has a SelectedValue which is invalid because it does not exist in the list of items"
1) get the values from the DB or from where ever...
2) create a sql select to get the values from the ddl db
3) set the ID of the first DDL control to cddcontrol1.SelectedValue = id (this is a number)
4) set the value of the DDL to the string value ddlist2.SelectedValue = value (this is a string)
ADDENDUM: I'm trying to do this with zero code. I can make it work if I use a separate data source for the drop-down and the detail fields in the ItemTemplate (i.e. the FormView's main data source), but I can't sync the FormView's data source with the drop-down's selection, because a ControlParameter on the FormView data source can't see control values in the ItemTemplate.