Como posso exibir o texto ao lado de cada botão de opção ao carregar uma lista radiobutton de uma enumeração?
-
03-07-2019 - |
Pergunta
Eu estou carregando uma lista radiobutton de uma enumeração (exibido verticalmente). Eu preciso mostrar texto que descreve cada seleção radiobutton. Eu estou carregando-o no codebehind.
Solução
Há muito poucos aspectos da classe Enum que eu encontrei mais e mais usos para recentemente, e um deles é o Método GetNames. Este método retorna uma matriz de cadeia de todos os nomes em uma enumeração especificado.
Este código assume que você tem um RadioButtonList na sua página chamado 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();
}
}
Give que um giro, e ver se ele faz o truque para você.
Felicidades!
Outras dicas
Você deve ser capaz de usar a propriedade .Text no controle.
http://www.w3schools.com/ASPNET/control_radiobutton.asp
EDIT:
Na verdade eu acho miss-ler a pergunta, eu acredito que este é o que você está procurando
For Each val As [Enum] In [Enum].GetValues(GetType(YourEnum))
Radio Button Add Logic Here
Next
Algumas ideias são: ou ter um dicionário que mapeia Descrição cordas para valores enum, ou você pode decorar o seu valores enum com um atributo.
Eu tenho uma pequena biblioteca, mesmo código etc, que fornece uma interface agradável para usar atributos em enums para este fim.
http: // daniel -mcadam.com/blog/2009/11/05/User-Display-Text-For-Enums.aspx