We help IT Professionals succeed at work.

How can I check the radioButtonList within placeholder in asp.net website?

Hello there,

 I have created multiple RadioButtonList for user to check, these radobuttonLists are are created dynamically according to the db records, and they are created at Page_load event.

When user clicked save, I want to check if there is any radio lists that is unanswered, I basically go through each controls in the placeholder
foreach (control ctl in Placeholder.controls)
{
if (ctl.GetType()==typeof(RadioButtonList))
{
   if (clt.SelectedIndex == -1)
   {
    ---Do something to display error message --
   }
}
}

However this code always got error of "Object reference not set to an instance of an object", I already try to recreate all the controls when posted back in Page_Init event, but still not successful.

Appreciate your help.

Mark
Comment
Watch Question

Top Expert 2013
Commented:
You need to cast the ctl from the type of control to the type of RadioButtonList:
foreach (control ctl in Placeholder.controls)
{
if (ctl.GetType()==typeof(RadioButtonList))
{
   RadioButtonList rbl = ctl as RadioButtonList;
   if (rbl.SelectedIndex == -1)
   {
    ---Do something to display error message --
   }
}
}

Open in new window

I have to recreate all the components in the page_init evet to make the code working as desired.

Author

Commented:
This is the the final way to make it work