Question

J'utilise une CheckBoxList à l'intérieur d'un FormView avec un ObjectDataSource . Afin de lier les valeurs sélectionnées à la CheckBoxList , j'utilise l'événement FormView_DataBound pour rechercher la CheckBoxList et définir les éléments sélectionnés. Cela fonctionne bien.

Maintenant, sauvegarder ces valeurs devient problématique. Est-il possible d'utiliser ObjectDataSource pour mettre à jour ces valeurs, ou dois-je les enregistrer après l'enregistrement ObjectDataSource ?

Était-ce utile?

La solution

mettre ce code dans formview en insérant l'événement ... Itérer la liste des cases à cocher et ajouter l'élément sélectionné dans datatable et le transmettre à votre 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;

Code de page ASPX .. type de paramètre

<InsertParameters>

                    <asp:Parameter Name="userRole" Type="Object" />
                </InsertParameters>

puis effectuez une itération dans votre BLL et enregistrez-le dans la base de données en conséquence

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top