Solved

asp.net radio button and obout

Posted on 2011-09-08
7
693 Views
Last Modified: 2012-05-12
I have the following codes in ascx.
It is two radio buttons in ascx.

on aspx side when I tried to call the ascx, how can I code that so the aspx can see view
radio button is selected?

Thanks,
<tr><td>
    <cc1:OboutRadioButton AutoPostBack="true" FolderStyle="../eServices/UIStyleControls/Obout/Interface/styles/plain/OboutRadioButton" GroupName="MasterPolicyType" Font-Bold="true" Text="Short Term Policy" ID="RdoShortTermPolicy" runat="server">
    </cc1:OboutRadioButton>
     </td>
    <td><br /></td>
    <td>
    <cc1:OboutRadioButton AutoPostBack="true" FolderStyle="../eServices/UIStyleControls/Obout/Interface/styles/plain/OboutRadioButton" GroupName="MasterPolicyType" Font-Bold="true" Text="Annual Policy" ID="RdoAnnualPolicy" runat="server">
    </cc1:OboutRadioButton>
     
    </td>
</tr>

Open in new window

0
Comment
Question by:Webboy2008
  • 4
  • 3
7 Comments
 
LVL 7

Expert Comment

by:Gewgala
ID: 36505655
ASCX CodeBehind:

public bool IsRdoShortTermPolicySelected
{
      get
      {
           return RdoShortTermPolicy.Checked;
      }
      set
      {
           RdoShortTermPolicy.Checked = value;
      }
}

public bool IsRdoAnnualPolicySelected
{
      get
      {
           return RdoAnnualPolicy.Checked;
      }
      set
      {
           RdoAnnualPolicy.Checked = value;
      }
}

Open in new window


Then from your ASPX, you can call the control of your ascx and access one of those properties, like this:

if (ascxControl.IsRdoAnnualPolicySelected)
{
     // ... do something
}

Open in new window

0
 
LVL 7

Expert Comment

by:Gewgala
ID: 36505721
The setters on those properties is of course optional, the ASCX codebehind could also look like this if you don't want to be able to programmatically check the radio buttons and only allow the user to do it:

public bool IsRdoShortTermPolicySelected
{
      get
      {
           return RdoShortTermPolicy.Checked;
      }
}

public bool IsRdoAnnualPolicySelected
{
      get
      {
           return RdoAnnualPolicy.Checked;
      }
}

Open in new window


The above only allows those properties to observe whether or not the radio buttons are selected.

With this example, the ASPX page can still do this:

if (ascxControl.IsRdoAnnualPolicySelected)
{
     // ... do something
}

Open in new window


but it can't do this:

ascxControl.IsRdoAnnualPolicySelected = false;

Open in new window


Because there are no publicly accessible setters defined.  With this example if you attempt to set it programmatically you will break the build because the compiler will tell you it is read-only.
0
 

Author Comment

by:Webboy2008
ID: 36505879
Thanks. Any ways to make two in one ? Meaning
When just call one property to determine
Which one is selected on aspx?
It may be possible because there is group name in radio
Button on ascx file....
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 7

Expert Comment

by:Gewgala
ID: 36505917
Yes, it would be a string though stating the ID of the control selected.  Would that work?  The codebehind of the ASCX property would look like this:

public string SelectedRadioButton
{
      get
      {
           if (RdoShortTermPolicy.Checked)
              return RdoShortTermPolicy.ID;
           else if (RdoAnnualPolicy.Checked)
              return RdoAnnualPolicy.ID;
           else
              return string.Empty;
      }
}

Open in new window


If RdoShortTermPolicy were checked, that property would return the value "RdoShortTermPolicy".

Of course, you could make the return string be anything you want, such as:

public string SelectedRadioButton
{
      get
      {
           if (RdoShortTermPolicy.Checked)
              return "short term";
           else if (RdoAnnualPolicy.Checked)
              return "annual";
           else
              return string.Empty;
      }
}

Open in new window


With this example, if RdoShortTermPolicy were checked, the return value of the property would be "short term".

You can also make it an int return value, like a value of 0 if RdoShortTermPolicy is checked, a value of 1 if RdoAnnualPolicy is checked, and a value of -1 if neither are checked, like so:

public int SelectedRadioButton
{
      get
      {
           if (RdoShortTermPolicy.Checked)
              return 0;
           else if (RdoAnnualPolicy.Checked)
              return 1;
           else
              return -1;
      }
}

Open in new window


The sky's the limit ;)
0
 

Author Comment

by:Webboy2008
ID: 36505989
That is working to me. Thanks. Will send you points next hour
0
 
LVL 7

Accepted Solution

by:
Gewgala earned 500 total points
ID: 36506051
Glad I could help.  Good luck.
0
 

Author Closing Comment

by:Webboy2008
ID: 36508028
very helpful
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

Suggested Solutions

Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

828 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