Как сохранить элементы из CheckBoxList в FormView? - PullRequest
3 голосов
/ 03 августа 2009

Я использую CheckBoxList внутри FormView с ObjectDataSource . Чтобы привязать выбранные значения к CheckBoxList , я использую событие FormView_DataBound , чтобы найти CheckBoxList и установить выбранные элементы. Это отлично работает.

Теперь сохранение этих значений становится проблематичным. Можно ли использовать ObjectDataSource для обновления этих значений или мне нужно сохранить их после сохранения ObjectDataSource ?

1 Ответ

3 голосов
/ 03 августа 2009

поместите этот код в событие вставки формы просмотра ... Повторите список флажков и добавьте выбранный элемент в datatable и передайте его вашему 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;

код страницы ASPX .. тип параметра

<InsertParameters>

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

, а затем выполнить итерацию данных в вашем BLL и соответственно сохранить в БД

...