?
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
Medium Priority
?
761 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
6 Comments
 
LVL 1

Assisted Solution

by:JaressLoo
JaressLoo earned 800 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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

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 1200 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

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

ASP.Net to Oracle Connectivity Recently I had to develop an ASP.NET application connecting to an Oracle database.As I am doing it first time ,I had to solve several problems. This article will help to such developers  to develop an ASP.NET client…
Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…
Suggested Courses

777 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