Come si salvano gli elementi da un CheckBoxList in un FormView?
-
10-07-2019 - |
Domanda
Sto usando un CheckBoxList all'interno di un FormView con un ObjectDataSource . Al fine di associare i valori selezionati alla CheckBoxList sto utilizzando l'evento FormView_DataBound per trovare la CheckBoxList e impostare gli elementi selezionati. Funziona benissimo.
Ora il salvataggio di questi valori sta diventando problematico. È possibile utilizzare ObjectDataSource per aggiornare questi valori o devo salvarli dopo aver salvato ObjectDataSource ?
Soluzione
metti questo codice in formview inserendo evento ... Iterate la casella di controllo e aggiungi l'elemento selezionato in datatable e passalo al tuo BLL
CheckBoxList chklRoles = (CheckBoxList)frm.FindControl("chklRoles");
foreach (ListItem liRole in chklRoles.Items)
{
if (liRole.Selected)
{
SecurityDS.SC_RoleRow drwRoles = dtblRoles.NewSC_RoleRow();
drwRoles.Name = liRole.Value;
drwRoles.IsActive = false;
dtblRoles.Rows.Add(drwRoles);
}
}
e.Values["userRole"] = dtblRoles;
Codice pagina ASPX .. tipo di parametro
<InsertParameters>
<asp:Parameter Name="userRole" Type="Object" />
</InsertParameters>
e quindi iterare datatable nel tuo BLL e salvare di conseguenza nel DB