asp.net RadioButtonList setting a default value

L’oggetto RadioButtonList

<asp:RadioButtonList ID="agree" Width="200px" RepeatDirection="horizontal" runat="server">
     <asp:ListItem Value="YES" Text="I agree" />
     <asp:ListItem Value="NO" Text="I do not agree" />
</asp:RadioButtonList>

come indicato nella figura sopra riportata non mostra un valore ( item) di  default selezionato.

Per selezionare un item di default si può utilizzare la proprietà Select impostandola a true

<asp:RadioButtonList ID="agree" Width="200px" RepeatDirection="horizontal" runat="server">
     <asp:ListItem Value="YES" Text="I agree" />
     <asp:ListItem Value="NO" Text="I do not agree" Select="true" />
</asp:RadioButtonList>

Oppure agire a livello di  back-end impostando la proprietà SelectedIndex. Il primo elemento ha valore 0 pertanto per seleziona la seconda voce ->

...
agree.SelectedIndex = 1;
...

Validazione dell’oggetto RadioButtonList

Per consenttire la sezione del solo valore (Value=) Yes corrispondente al  Text =” I agree” si può utilizzare nella proprietà ValidationExpression la regex =”^(?!NO)(.*)$”

ValidationExpression=”^(?!NO)(.*)$”

<asp:RadioButtonList ID="agree" Width="200px" RepeatDirection="horizontal" runat="server"&gt;
     <asp:ListItem Value="YES" Text="I agree" />
     <asp:ListItem Value="NO" Text="I do not agree" />
</asp:RadioButtonList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator7" CssClass="label label-warning" Display="Dynamic" runat="server" ErrorMessage="Privacy. Checked Yes to Continue" ControlToValidate="agree" />
<asp:RegularExpressionValidator Visible="true" Display="Static" Enabled="true" CssClass="label label-warning" ID="RegularExpressionValidator6" ControlToValidate="agree" ValidationExpression="^(?!NO)(.*)$"
EnableClientScript="True" ErrorMessage="Privacy: Check YES to Continue!" runat="server" />

 

Convertire nel backend il valore testuale dell’oggetto RadioButtonLIst  in valore bool

bool myagree = agree.SelectedItem.Value == "YES" ? true : false;

 

Asp.net C# Null Reference Exception of RadioButtonList value

Quando si utilizza un controllo RadioButtonList si può ottenere il valore selezionato utilizzando:

RadioButtonList1.SelectedItem.Value;

Se tuttavia nessun elemento della RadioButtonList viene selezionato SelectedItem.Value risulta nullo e si ottiente l’errore:

Null Reference Exception of RadioButtonList value

Per evitare l’eccezione è sufficiente controllare preventivamente che SelectedItem non sia null.
In forma compatta:

string _radiobuttonvalue = RadioButtonList1.SelectedItem != null ? RadioButtonList1.SelectedItem.Value : "";

in forma tradizionale

if  ( RadioButtonList1.SelectedItem != null )  {  
   string _radiobuttonvalue = RadioButtonList1.SelectedItem.Value ; }

 

 

 

Risorse:

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...