C # ASP.NET DATALIST e pulsanti radio HTML
-
11-12-2019 - |
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
Soluzione
È necessario aggiungere
runat="server"
.
On You Pulsante di opzione altrimenti non sarà accessibile dal codice dietro.