GenderRadioList.cs
---------------------
using System.Web.UI.WebControls;
using DarkBulletin.Components;
using System.Web.UI;
namespace DarkBulletin.Controls
{
///
/// GenderRadioList so that the user can select their gender
///
///
/// Custom control for Gender selection based on RadioButtonList.
/// Which also uses the Gender enum
///
[ToolboxData( "<{0}:GenderRadioList ID=\"GenderList\" RepeatColumns=\"3\" runat=\"server\" />" )]
public sealed class GenderRadioList : RadioButtonList
{
///
/// GenderRadioList default constructor
///
///
/// Using Items.Add() creates the Gender
///
public GenderRadioList( )
{
Items.Add( new ListItem( "Not Set", ( (int)GenderFlags.NotSet ).ToString( ) ) );
Items.Add( new ListItem( "Male", ( (int)GenderFlags.Male ).ToString( ) ) );
Items.Add( new ListItem( "Female", ( (int)GenderFlags.Female ).ToString( ) ) );
}
///
/// Gets the users SelectedValue based on the users selection
///
public new int SelectedValue
{
get { return int.Parse( base.SelectedValue ); }
set { base.SelectedValue = ( (int)value ).ToString( ); }
}
///
/// Gets the controls ID
///
public new string ID
{
get { return base.ID; }
set { base.ID = value.ToString( ); }
}
///
/// Gets the number of how many times to repeat the columns
///
public new int RepeatColumns
{
get { return base.RepeatColumns; }
set { base.RepeatColumns = value; }
}
}
}
GenderFlags.cs
---------------
namespace DarkBulletin.Components
{
public enum GenderFlags : int
{
NotSet = 0,
Male,
Female
}
}