Solved

enable/disable a drop down list based on selection of another drop down list

Posted on 2010-11-16
7
536 Views
Last Modified: 2012-05-10
I am using .net 3.5 with C#. I have three drop down lists in a panel. I want to disable the second and the third drop down until a selection is made on the first. I tried the following:
disable second and third drop down lists on Page_Load. Then enable both of them in the OnSelectedIndexChanged event for the first drop down, but it does not enable them, probably because it is a client side event.

How can I accomplish this?

Thanks.
0
Comment
Question by:patd1
  • 5
  • 2
7 Comments
 
LVL 8

Expert Comment

by:static-void
ID: 34149994
Is this winforms or webforms?
0
 

Author Comment

by:patd1
ID: 34150026
static-void:
Is this winforms or webforms?

This is webforms.
0
 

Author Comment

by:patd1
ID: 34150724
if I split them into two panels where panel 1 has first drop down list and panel2 ahs the the other 2 drop down lists, ho do I disable panel 2 until a selection has been made on panel 1?
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 8

Expert Comment

by:static-void
ID: 34152315
Ok make sure your disabling code on page load is inside a if(!IsPostback){ } statement
0
 

Author Comment

by:patd1
ID: 34156874
Here's what I am doing and the process works, but it refreshes the whole page when I change the selection in my first drop down list (ddl), to enable the other two ddl s.
How can I make it refresh "panel3 only" when  selectedIndex gets changed on the first ddl.
I tried using AJAX update panel, but it starts giving me error when I add this line of code:
<%@ Register Assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="ajaxtoolkit" %> and <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

Error:Microsoft JScript runtime error: Sys.ArgumentTypeException: Object of type 'Object' cannot be converted to type 'Array'.
Parameter name: array
<asp:Panel ID="panel2" runat="server" GroupingText="CLIENT" EnableViewState="true" >
                    <table >
                        <tr>
                         <td class="cls">CLIENT</td><td><asp:DropDownList ID="adv_client" runat="server" OnSelectedIndexChanged="adv_client_SelectedIndexChanged" 
                             OnInit="adv_client_Init" AutoPostBack="true"></asp:DropDownList></td>
                        </tr>
                        </asp:Panel>
                    </table> 
                    <asp:Panel ID="panel3" runat="server" GroupingText="Facilities" EnableViewState="true" >
                    <table> 
                        <tr>
                            <td class="cls">Facility1</td><td><asp:DropDownList ID="adv_ord_ddl" runat="server" 
                                onselectedindexchanged="adv_ord_ddl_SelectedIndexChanged" 
                                 oninit="adv_ord_ddl_Init" ></asp:DropDownList>
                            </td>
                        </tr>
                        <tr>
                            <td class="cls">Department</td><td><asp:DropDownList ID="adv_treat_ddl" runat="server" OnSelectedIndexChanged="adv_treat_ddl_SelectedIndexChanged"
                             OnInit="adv_treat_ddl_Init"></asp:DropDownList></td>
                        </tr>
                        </asp:Panel>
                    </table> 

 protected void Page_Load(object sender, EventArgs e)
    {.....

if (!IsPostBack)
        {
            this.panel3.Enabled = false;
...
}
}
protected void adv_client_SelectedIndexChanged(object sender, EventArgs e)
    {
        Session["adv_client"] = adv_client.SelectedItem.Value;
        if (adv_client.SelectedIndex > 0)
        {
            this.panel3.Enabled = true;
        }
    }

Open in new window

0
 

Accepted Solution

by:
patd1 earned 0 total points
ID: 34158791
setting ScriptMode="Release" in the script manager helped me get rid of that error.
0
 

Author Closing Comment

by:patd1
ID: 34186421
it works
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
The goal of this video is to provide viewers with basic examples to understand and use switch statements in the C programming language.
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…

895 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now