English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Explicação detalhada do controle RadioButtonList no ASP.NET

O controle 'RadioButtonList' representa uma lista de controles de botões de rádio encapsulados. 

Pode usar dois tipos de controles ASP.NET para adicionar botões de rádio em uma página da web: os controles 'RadioButton' individuais ou um controle 'RadioButtonList'. Esses dois tipos de controles permitem que o usuário escolha entre um grupo de opções pré-definidas e exclusivas. Com esses controles, pode-se definir um número arbitrário de botões de rádio com rótulos e organizá-los horizontalmente ou verticalmente. 

Espaço de nomes:System.Web.UI.WebControls
Conjunto de programas:System.Web (no sistema.web.dll) 

[ValidationPropertyAttribute("SelectedItem")]
public class RadioButtonList : ListControl, IRepeatInfoUser, INamingContainer, IPostBackDataHandler
Controle RadioButtonListFornece um conjunto de botões de rádio para desenvolvedores de páginas da web, que podem ser gerados dinamicamente através de bindings de dados. O controle contém uma coleção Items, cujos membros correspondem a cada item da lista. Para determinar qual item foi selecionado, teste a propriedade SelectedItem da lista. 

Os desenvolvedores de páginas da web podem especificar como a lista será apresentada usando os atributos RepeatLayout e RepeatDirection. Se o RepeatLayout for configurado como RepeatLayout.Table (configuração padrão), a lista será apresentada em uma tabela. Se configurado como RepeatLayout.Flow, a lista não será apresentada em forma de tabela. O RepeatDirection está configurado como RepeatDirection.Vertical pelo padrão. Ao configurar essa propriedade como RepeatDirection.Horizontal, a lista será apresentada horizontalmente. 

Uso do RadioButtonList:

                <div class="rblStyle">
                <asp:RadioButtonList ID="rblChangQHT" runat="server" RepeatDirection="Horizontal">
                <asp:ListItem Text="Sim" Value="1></asp:ListItem>
                <asp:ListItem Text="Não" Value="0"></asp:ListItem>
                </asp:RadioButtonList></div> 

1.RadioButtonList Validação

  var rb_ChangQHT = document.getElementById("rblChangQHT");
  var ShiF = rb_ChangQHT.getElementsByTagName("INPUT");
  var result = false;
  for (var i = 0; i < ShiF.length; i++) {
  if (ShiF[i].checked) {
   result = true;
   break;
  }
  }
  if (!result) {
  alert("É obrigatório preencher se o contrato for de longo prazo!");
  return false;
  }

2.Ajuste de estilo do RadioButtonList 

.rblStyle{width:100%;height:auto;}
.rblStyle input{border-style:none;} 

3.evento onselectedindexchanged 

Como o controle dropdownlist, ele também tem o evento onselectedindexchanged, que é acionado após a mudança da opção 

Ponto a ser notado: o atributo AutoPostBack do controle deve ser definido como "True", para que o servidor saiba que sua opção mudou e dispare o evento correspondente

4.adicionar aviso ao ListItem

RadioButtonList1.Items[0].Attributes.Add("title", "Conteúdo de aviso");

5.ligar ao origem de dados            

string sql = "select * from province";
DataTable dt = SQLHelper.ExecuteDataTable(sql);
this.RadioButtonList1.DataSource = dt;
this.RadioButtonList1.DataTextField = "Provinces";
this.RadioButtonList1.DataValueField = "PId";
this.RadioButtonList1.DataBind();

6.Mudar a cor de primeiro plano do item selecionado

<asp:RadioButtonList ID="rblIsLock" runat="server" AutoPostBack="true" OnSelectedIndexChanged="rblIsLock_SelectedIndexChanged" RepeatDirection="Horizontal" RepeatLayout="Flow">   
<asp:ListItem Selected="True" Value="0">Ativar </asp:ListItem>   
<asp:ListItem Value="}}1">desativado </asp:ListItem> 
</asp:RadioButtonList> 
<label>*usuários desativados não poderão fazer login</label>

backend:   

protected void rblIsLock_SelectedIndexChanged(object sender, EventArgs e) 
{ 
 var rbl = sender as RadioButtonList; 
 HighliehgSelectedItem(rbl); 
}
private void HighliehgSelectedItem(RadioButtonList rbl) 
{ 
 foreach (ListItem li in rbl.Items) 
 {  
 if (li.Selected)  
 {  
 li.Attributes.Add("style", "color: red;");  
 } 
 } 
}

7.dinamicamente adicionado no backend   

 RadioButtonList rbl = new RadioButtonList();
   rbl.ID = "rbl" + (i + 1).ToString();
   rbl.BorderStyle = BorderStyle.None;
   rbl.RepeatLayout = RepeatLayout.Flow;
   rbl.RepeatDirection = RepeatDirection.Horizontal;
   rbl.TextAlign = TextAlign.Right;
   rbl.CellSpacing = 6;
   rbl.Attributes.Add("onclick", "CheckRbl('ctl00_ctl00_ctl00_ContentPlaceHolder1_cphBody_cphLower_" + rbl.ID + "')");
   rbl.DataSource = dtRating.DefaultView;
   rbl.DataTextField = "LevelID";
   rbl.DataValueField = "LevelID";
   rbl.DataBind();
   tc.Controls.Add(rbl); //tc é uma célula de TableRow, TableCell
   for (int k = 0; k < rbl.Items.Count; k++)
   {
   rbl.Items[k].Attributes.Add("title", dtRating.Rows[k][1].ToString());
   rbl.Items[k].Attributes.Add("style", "margin-esquerda:10px;");
   }

8.Mudar a cor de fundo da seleção na interface 

  window.onload = function () {
  var arr = document.getElementsByTagName("INPUT");
  for (var i = 0; i < arr.length; i++) {
  if (arr[i].checked) {
   if (arr[i].type == "radio") {
   arr[i].style.backgroundColor = "red";
   }
   else {
   arr[i].style.backgroundColor = "";
   }
  }
  else {
   arr[i].style.backgroundColor = "";
  }
  }
 }

Para você:3Um excelente tópico:

Manual de Uso de Controles ASP.NET

Resumo de Uso de Controles de Bindings de Dados ASP.NET

Resumo de Uso de Controles ASP.NET

Isso é o conteúdo completo deste artigo, esperamos que ajude no seu aprendizado e esperamos que você apóie o tutorial de gritaria.

Declaração: O conteúdo deste artigo foi extraído da internet, pertence ao autor original, foi contribuído e carregado voluntariamente pelos usuários da internet, este site não possui direitos autorais, não foi editado manualmente e não assume responsabilidade por eventuais responsabilidades legais. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie um e-mail para: notice#w.3Aviso: Este conteúdo foi extraído da internet, pertence ao autor original, foi carregado voluntariamente pelos usuários da internet, este site não possui direitos autorais, não foi editado manualmente e não assume responsabilidade por eventuais responsabilidades legais. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie um e-mail para: notice#w, fornecendo provas relevantes. Aconteça que seja verificado, o conteúdo suspeito de violação de direitos autorais será imediatamente removido.

Você também pode gostar