C# - Validate Dropdownlist Selectedvalue Against A List From Static Property?
Oct 4, 2010
I am using javascript to validate user input on my aspx page. I am easily able to validate textboxes and dropdown list for differenet scenarios.
Now, on one of my dropdown lists (for country), I need to check if it is an allowed country or not for a particular service. I have stored the valid country list in a static property. Is there a way to validate my dropdownlist selected value against that static property?
function validateService(source, args)
{
var country = document.getElementById('<%= ddDestCountry.ClientID %>');
var service = document.getElementById('<%= ddService.ClientID %>');
// Get allowed country list from my static class
var countryList = document.getElementById('<%= StaticProperties.EUCountryList %>');
if (service.value == "P")
{
// I want to do something like this
if (!countrylist.Contains(country.value))
{
args.IsValid = false;
}
else {
args.IsValid = true;
}
}
return;
}
Update(Additional Information): The static property is read-only so it cannot be tampered with from the page.
I like to bind the selected value to the nested property 'Month' of 'OrderDate' as shown above. The property OrderDate is of type DateTime. The error I'm getting while binding to a nested property is:
A call to Bind was not well formatted. Please refer to documentation for the correct parameters to Bind.
I have a page with some bound DropDownLists (DDLs) for a Call Logging system. The Calls are categorised on three levels for example:
Call: 3069, Category 1: Incident, Category 2: Microsoft Application, Category 3: Word would be used to organise calls for problems with Microsoft Word. On testing the system, I noticed that there was no handling for opening a call if the category had been deleted - say for reorganisation/systems no longer supported whatever. So I set about trying to make the program behave in the following manner:
Check category ID exists in DDL before bindingIt doesn't: set the displayed text of the DDL to Category Name + "(Deleted)"Disable the control to prevent user changingMove on to next control Seemed simple enough, however no matter which way I try and do it I always get the messase ddl_Cat1 has a SelectedValue which is invalid because it does not exist in the list of items. What's really puzzling me is that the exception doesn't seem to be being thrown in the code behind. I've gone through line by line from Page_Init and it never throws and exception. Just when the page loads this appears.
Does anyone know of a reason as to why this wouldn't work? (I've already tried setting the selected value to an existing item, adding a new list item with the value and setting DataSource property to Nothing - in all different combinations.)
I got this error when select a row from a grid view to update
'ddl_ctegOf_Product_update' has a SelectedValue which is invalid because it does not exist in the list of items.Parameter name: value Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.ArgumentOutOfRangeException: 'ddl_ctegOf_Product_update' has a SelectedValue which is invalid because it does not exist in the list of items.Parameter name: value
Source Error: Line 265: txt_prodID_update.Text = gridTo_updateFrom.SelectedRow.Cells[1].Text; Line 266: txt_prod_name_update.Text = gridTo_updateFrom.SelectedRow.Cells[2].Text; Line 267: ddl_ctegOf_Product_update.SelectedValue = gridTo_updateFrom.SelectedRow.Cells[3].Text; Line 268: txt_cateIn_hardCopy_update.Text = gridTo_updateFrom.SelectedRow.Cells[4].Text.Replace(" ", ""); Line 269: txt_prodID_update.ReadOnly = true;
The code of update:
private void PopulateDropDownList() { string constr = ConfigurationManager.ConnectionStrings[1].ConnectionString; using (SqlConnection con = new SqlConnection(constr)) { using (SqlCommand cmd = new SqlCommand("SELECT CategoryProd_ID,Cate_Pro_Name FROM CategoryOfProduct", con)) { using (SqlDataAdapter da = new SqlDataAdapter(cmd))
I have a standard gridview and detailsview. My detailsview has some fields which are templates, with dropdownlists. The user selects a record in the gridview, then can go down to the detailsview, select Edit, and change some values (using dropdownlists).I am getting the error, "DDL has a selectedvalue which is invalid because it does not exist...." when I click Edit in the detailsview.
I know the problem has something to do with the dropdownlists not being instantiated or bound until I enter Edit mode. Is that right? In what event should I databind my dropdownlists? I've tried several things but could not get it to work. Do I have to loop through all the rows of my details view looking for the dropdownlists, or can I access them directly from some event?
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".
I have a WebForms page that has two DropDownList controls on it that both contain a range of temperatures from 60-80 degrees, one for heating the other for cooling. They are declared in the .aspx as:
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]....
How to validate DropDownCheckBoxes control at client side(javascript or Jquery)? I would like to restrict the user to submit the page if no item is selected in the dropdowncheckboxes control. i.e no check box is checked.Javascript/Jquery code to validate the control at client side.
I have a dropdown list in a gridview field. The DataValueField for the ddl is an 8 digit item code. The text to display through will be quite longer, 40-60 characters because it will combine the item code and item name into a single string. I don't want the dropdownlist field to be that wide though, only what is displayed when the ddl is selected.In Access you can set the width property of the list to display wider than the field itself. Is there that capability in ASP.NET and if so where do I find it?
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.
Is this possible? I programatically change the selected index when a certain event is fired using this code:DropDownList.SelectedIndex = DropDownList.SelectedIndex + 1ow I want to update a corresponding textbox with the text that is in the new SelectedIndex of the DropDownList via postback.I know how I can do this in javascript
I have a dropdownlist that is populated by a webservice using the ajax cascading dropdown. I have not been able to set the selected value using javascript. It appears that the values do not exist when the javascript runs. I placed the javascript at the bottom of the aspx page
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?
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load dlCountryList.SelectedValue = "GR" Response.Write("*" + CStr(dlCountryList.SelectedIndex) + "*") End Sub
I have a dropdown list that has a bind on it and I get this error. Why am I getting this error and what can I do to fix it. here is the code for the dropdown I currently have:
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.