Comment puis-je afficher du texte à côté de chaque radiobutton lors du chargement d'une liste de radiobutton à partir d'une énumération?
-
03-07-2019 - |
Question
Je charge une liste de radiobutton à partir d'une énumération (affichée verticalement). Je dois afficher un texte décrivant chaque sélection de radiobutton. Je le charge dans le codeBear.
La solution
Il y a pas mal d'aspects de la classe Enum pour lesquels j'ai trouvé de plus en plus d'utilisations, dont la méthode GetNames. Cette méthode retourne un tableau de chaînes de tous les noms d'une énumération spécifiée.
Ce code suppose que vous avez sur votre page une liste RadioButtonList nommée RadioButtonList1 .
public enum AutomotiveTypes
{
Car,
Truck,
Van,
Train,
Plane
}
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string[] automotiveTypeNames = Enum.GetNames(typeof(AutomotiveTypes));
RadioButtonList1.RepeatDirection = RepeatDirection.Vertical;
RadioButtonList1.DataSource = automotiveTypeNames;
RadioButtonList1.DataBind();
}
}
Faites un essai et voyez si cela vous convient.
Salut!
Autres conseils
Vous devriez pouvoir utiliser la propriété .Text sur le contrôle.
http://www.w3schools.com/ASPNET/control_radiobutton.asp
EDIT:
En fait, je pense que vous avez mal lu la question, je pense que c’est ce que vous recherchez
For Each val As [Enum] In [Enum].GetValues(GetType(YourEnum))
Radio Button Add Logic Here
Next
Quelques idées sont soit de créer un dictionnaire qui mappe les chaînes de description en valeurs, ou de décorer votre enum les valeurs avec un attribut .
J'ai une petite bibliothèque, le même code, etc., qui fournit une interface intéressante pour utiliser des attributs sur des énumérations à cette fin.
http: // daniel -mcadam.com/blog/2009/11/05/User-Display-Text-For-Enums.aspx