Solved

How to enable / disable ALL controls (textboxes, dropdowns, checkboxes) on a page (on page load) based on some values in database?

Posted on 2009-07-04
6
727 Views
Last Modified: 2012-05-07
Hi,

I want to disable (make it read only)
all user input controls (like textboxes, dropdowns, checkboxes, radiobuttons)
on a page (on page load) based on some value in the database.

How do I achieve this?
0
Comment
Question by:meetpd
  • 3
  • 2
6 Comments
 
LVL 1

Assisted Solution

by:JaressLoo
JaressLoo earned 200 total points
ID: 24779016
I usually do this by creating some sort of method called "ResetFields()" and then call it in the Page_Load function.

Make sure to check if the page is posted back first:

If (!IsPostBack) {
    ResetFields();
}

As far as getting the value from the database, you can do something like the attached code snippet.

I wrote this from the top of my head just in the text box...so I had no error checking...
using System.Data.SqlClient;
 

String connStr = ConfigurationManager.ConnectionStrings("ConnectionStringName").ToString();
 

SQLConnection sqlcon = New SQLConnection;

SQLCommand SQLcom = new SQLCommand;

sqlcon.ConnectionString = connStr;

sqlcom.CommandText = "SELECT Whatever FROM Table";

sqlcom.Connection = sqlcon;

sqlcom.Connection.Open();

String result = sqlcom.ExecuteScalar();

sqlcom.Connection.Close();

Open in new window

0
 

Author Comment

by:meetpd
ID: 24779025
Thanks for the quick reply.

Can you please tell me which line actually does the disabling part?

0
 
LVL 1

Expert Comment

by:JaressLoo
ID: 24779055
YourControlName.Enabled = False;

Sorry. I didn't put it. That goes in ResetFields() routine.

I'm on my iPhone right now. Sorry for the brief response.
0
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.

 

Author Comment

by:meetpd
ID: 24779582
The way you suggested, we will have write command for each and every control..I want a way by which ALL controls are disabled in one shot...
0
 
LVL 5

Accepted Solution

by:
Buginator earned 300 total points
ID: 24780007
Hi,

here you go. I put most of the controls, but add controls as you like (as long as they have the "Enabled" property).


//Run method:

DisableAllControls(Page);
 

//Code for method

    private void DisableAllControls(Control Page)

    {

        foreach (Control ctrl in Page.Controls)

        {

            if (ctrl is TextBox) ((TextBox) (ctrl)).Enabled = false;

            else if (ctrl is Button) ((Button)(ctrl)).Enabled = false;

            else if (ctrl is DropDownList) ((DropDownList)(ctrl)).Enabled = false;

            else if (ctrl is ListBox) ((ListBox)(ctrl)).Enabled = false;

            else if (ctrl is CheckBox) ((CheckBox)(ctrl)).Enabled = false;

            else if (ctrl is CheckBoxList) ((CheckBoxList)(ctrl)).Enabled = false;

            else if (ctrl is RadioButton) ((RadioButton)(ctrl)).Enabled = false;

            else if (ctrl is RadioButtonList) ((RadioButtonList)(ctrl)).Enabled = false;
 

            else

            {

                if (ctrl.Controls.Count > 0) DisableAllControls(ctrl);

            }

        }

    }

Open in new window

0
 
LVL 1

Expert Comment

by:JaressLoo
ID: 24780137
You learn something new every day! :)
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

We all know that functional code is the leg that any good program stands on when it comes right down to it, however, if your program lacks a good user interface your product may not have the appeal needed to keep your customers happy. This issue can…
Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Both in life and business – not all partnerships are created equal. As the demand for cloud services increases, so do the number of self-proclaimed cloud partners. Asking the right questions up front in the partnership, will enable both parties …

910 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

20 Experts available now in Live!

Get 1:1 Help Now