Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1259
  • Last Modified:

how to get the selected item value of RadioButtonList which is inside Accordion ???

Hello experts,

           I am using a RadiobuttonList inside Accordion. The Radiobuttonlist is set to AutoPostBack = true. So I want to capture the value of selectedItem of radioButtonlist when the item is selected.I want to do this in c#.

Urgent..Thanks.
<div class="AccordionPanel">
                                                <ajaxToolkit:Accordion ID="Accordion1" runat="server" SelectedIndex="1" FadeTransitions="true" 
                                                FramesPerSecond="40" TransitionDuration="250" AutoSize="None" RequireOpenedPane="false" 
                                                HeaderCssClass="HeaderTab" ContentCssClass="ContentTab">
                                                  
                                                </ajaxToolkit:Accordion>
                                            </div>
 
 
public void accordion()
    {
        DataSet dsDistibutors = Fund.GetAllDistibutor();
        AccordionPane ap1 = new AccordionPane();
        ap1.HeaderContainer.Controls.Add(new LiteralControl("Select Distributor"));
        ap1.ContentContainer.Controls.Add(GetRadioButtonList());
        Accordion1.Panes.Add(ap1);
    }
    private RadioButtonList GetRadioButtonList()
    {
        DataSet dsDistibutors = Fund.GetAllDistibutor();
        RadioButtonList RBList = new RadioButtonList();
        RBList.DataSource = dsDistibutors;
        RBList.DataTextField = "USER_NM";
        RBList.DataValueField = "USER_NM";
        RBList.DataBind();
        RBList.AutoPostBack = true;
        return RBList;
    }

Open in new window

0
srk1982
Asked:
srk1982
  • 3
1 Solution
 
NazoUKCommented:
Add an event Handler in your GetRadioButtonList() function:

RBList.SelectedIndexChanged +=new EventHandler(RBList_SelectedIndexChanged);

then add a new function to handle the event:

protected void RBList_SelectedIndexChanged(object sender, EventArgs e)
{
       RadioButtonList RBList = sender as RadioButtonList;
       ...
}

You can then get the selected value from within this new function
0
 
srk1982Author Commented:
Hi NazoUK,

        i am using vs2005.   I know where to add the eventhandler in vs2003.
        where to add this vs2005???


Thanks....
0
 
NazoUKCommented:
Sorry, I wasn't very clear there. The line

RBList.SelectedIndexChanged +=new EventHandler(RBList_SelectedIndexChanged);

is adding the event handler. Just add that line into GetRadioButtonList() after the line RBList.AutoPostBack = true;

Note that to work properly the GetRadioButtonList() function must be called every postback but I assume you're probably doing that anyway or your radiobuttonlist would disappear after you change the selectedindex.
0
 
agentegCommented:
Catching the event only allow you to get the selected value when the user changes it, but if you want to get it whenever you want (without using global variables), even if the user don't change the value, try this:

First, set the Tag property of the RadioButtonList as, ie, "RBList"...

then:

object  FindRBListValue(Control control)
{
    foreach(Control child in control.Controls)
      {
        if (child.Tag is string)
            if (string.Compare("RBList", child.Tag) == 0)
              return (child as RadioButtonList ).Value;
       object childs = FindRBListValue(child);
      if (childs != NULL)
         return childs;
       }
return null;
}


Call this method like this:

...
object listValue = FindRBListValue(this);
if (listValue == NULL)
   throw (new Exception("Could not found Radio Button List");


Try this, I'm not good at ASP.net, but should make the deal...

0
 
NazoUKCommented:
That's inefficient and completely unnecessary though, if he wants to find the radio button list he can do it using the FindControl method of the Accordion.

RadioButtonList rbl = (RadioButtonList) ap1.ContentContainer.FindControl("<RBLID>")

but I'm guessing as he's set autopostback=true he wants to react to that event.
I just noticed the ID property of the RadioButtonList isn't being set though which is probably a good idea.
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now