改进代码以保存和填充asp.net checkboxlist值

时间:2013-06-14 16:27:53

标签: asp.net vb.net

我继承了一个应用程序,它具有在asp.net checkboxlist控件中保存和填充值的代码。现有代码非常冗长,对我来说似乎没有效率。我计划重写此应用程序并完全控制数据库设计。有人可以就如何改进和缩短下面的代码提出任何建议。

所有checkboxlist项都作为位字段存储在sql表中。每行checkboxlist值都分配给userid。再一次,我的目标是找到一种更有效的方法来使用更少的代码保存和填充选定的checkboxlist项。感谢。

Database Design
UserID  AA  BC  AC
1       1    1  0 
2       0    1  1
3       1    1  0 
4       1    1  1

'Code to populate selected checkboxlist items

Dim CodeData as datarow
CodeData = CodeDataTable.Rows(0)
For Each li As ListItem In Me.cblCodes.Items
                    If li.Text = "AA" Then
                       If Not CodeData.IsOneNull Then
                           If CodeData.One = True Then
                               li.Selected = True
                        End If
                    End If
                End If
                  If li.Text = "BC" Then
                    If Not CodeData.IsTwoNull Then
                        If CodeData.Two = True Then
                            li.Selected = True
                        End If
                    End If
                End If
         If li.Text = "AC" Then
                    If Not CodeData.IsTwoNull Then
                        If CodeData.Two = True Then
                            li.Selected = True
                        End If
                    End If
                End If  
            ......

Next

'Code to save checkboxlist values
 Dim AA As Boolean = False
 Dim BC As Boolean = False
 Dim AC As Boolean = False
 Dim AD As Boolean = False


 AA = Me.cblCodes.Items.FindByText("AA").Selected()
 BC = Me.cblCodes.Items.FindByText("BC").Selected
 AC = Me.cblCodes.Items.FindByText("AC").Selected
 AD = Me.cblCodes.Items.FindByText("AD").Selected

 CodeTableAdapter.UpdateCodes(UserID,AA,BC,AC,AD.......)

表适配器调用存储过程,该过程将sql位字段设置为适当的布尔值。

0 个答案:

没有答案