Domanda

Il mio sito ha il controllo delle modifiche linguistici in modo che quando si fa clic su una lingua, ricaricando la stessa pagina ma con un testo di lingua diverso e se l'utente ha già campo nel modulo Devo ricaricare i dati.

Sono riuscito a ricaricare i dati in caselle di controllo, TextBox ma non con Botton Radio

Si prega di consultare il mio codice

Ho un datatalista e un pulsante di opzione all'interno.

<asp:DataList runat="server" ID="dlRole">
                <ItemTemplate>
                    <input type="radio" id="rblRole" name="rblRole" value='<%# Eval("RoleCode") %>' />                      
                    <asp:Label ID="lbRole" runat="server" Text='<%# Eval("Description")%>'></asp:Label>
                </ItemTemplate>
            </asp:DataList>
.

Carico il datatalista, i pulsanti di opzione

dlRole.DataSource = ...
dlRole.DataBind();
.

Salva il valore del pulsante di radio in oggetto Session utente

 user.Role = Request["rblRole"];
.

Ma quando ricariamo l'oggetto salvato nel pulsante di opzione, non riesce a trovare il controllo dell'oggetto del pulsante di opzione .... Il pulsante di radio è sempre nullo.E non sono sicuro del perché

        foreach (DataListItem item in dlRole.Items)
        {
            HtmlInputRadioButton radio = (item.FindControl("rblRole") as HtmlInputRadioButton);                
            if (radio != null) <--- always nulll
            {
                if (radio.Value == user.Role.ToString())
                {
                  radio.Checked = true;
                }
                else
                  radio.Checked = false;
            }
        }
.

Per favore fammi sapere come risolverlo Grazie

È stato utile?

Soluzione

È necessario aggiungere

runat="server" 
.

On You Pulsante di opzione altrimenti non sarà accessibile dal codice dietro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top