【问题标题】:How do you save items from a CheckBoxList in a FormView?如何在 FormView 中保存 CheckBoxList 中的项目?
【发布时间】:2009-08-03 12:18:22
【问题描述】:
我在带有 ObjectDataSource 的 FormView 内使用 CheckBoxList。为了将所选值绑定到 CheckBoxList,我使用 FormView_DataBound 事件来查找 CheckBoxList 并设置所选项目。这工作正常。
现在保存这些值变得有问题了。是否可以使用 ObjectDataSource 来更新这些值,还是必须在 ObjectDataSource 保存后保存它们?
【问题讨论】:
标签:
c#
asp.net
objectdatasource
formview
checkboxlist
【解决方案1】:
将此代码放入表单视图插入事件中...迭代复选框列表并将所选项目添加到数据表中并传递给您的 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 中迭代数据表并相应地保存到数据库中