我在 FormView 中使用 CheckBoxList 并使用 ObjectDataSource 。为了将选定的值绑定到 CheckBoxList ,我使用 FormView_DataBound 事件来查找 CheckBoxList 并设置所选项目。这很好用。
现在保存这些值正成为问题。是否可以使用 ObjectDataSource 更新这些值,或者在 ObjectDataSource 保存后是否必须保存它们?
答案 0 :(得分:3)
将此代码放入formview插入事件中...迭代复选框列表并在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中迭代数据表并相应地保存到DB中