3

我在带有ObjectDataSource的FormView内使用CheckBoxList。为了将所选值绑定到CheckBoxList,我使用FormView_DataBound事件来查找CheckBoxList并设置所选项目。这工作正常。

现在保存这些值变得有问题。是否可以使用ObjectDataSource更新这些值,或者我必须在ObjectDataSource保存后保存它们?

4

1 回答 1

3

将此代码放入 formview 插入事件中...迭代复选框列表并将所选项目添加到数据表中并传递给您的 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 中迭代数据表并相应地保存到数据库中

于 2009-08-03T12:26:45.260 回答