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