如何在数据库asp.net中加载checkboxlist的状态?

时间:2013-12-20 13:24:03

标签: asp.net sql vb.net

有2个复选框列表,每个复选框里面有6个复选框(下面是我的数据库)

checkboxlist1:id,rowa

checkboxlist2:id,rowb

 id       : int
 rowa : nvarchar(250)
 rowb : nvarchar(250)

当我单击一个复选框时,该值将作为A1,A2保存到我的数据库....这是我的代码:

 Dim str1 As [String] = ""
    For a As Integer = 0 To CheckBoxList1.Items.Count - 1

        If CheckBoxList1.Items(a).Selected Then

            If str1 = "" Then
                str1 = CheckBoxList1.Items(a).Text
            Else

                str1 += "," + CheckBoxList1.Items(a).Text
                str1 = ""

            End If
        End If

    Next
    For a1 As Integer = 0 To CheckBoxList1.Items.Count - 10
        CheckBoxList1.Enabled = False
    Next

    Dim str2 As [String] = ""
    For b As Integer = 0 To CheckBoxList2.Items.Count - 1

        If CheckBoxList2.Items(b).Selected Then

            If str2 = "" Then
                str2 = CheckBoxList2.Items(b).Text
            Else

                str2 += "," + CheckBoxList2.Items(b).Text


            End If
        End If
    Next
  

Dim connectionString As String =   ConfigurationManager.ConnectionStrings( “的ConnectionString”)。的ConnectionString   Dim insertSql As String =“INSERT INTO tbtest(rowa,rowb)VALUES(@ rowa,@ rowb)”   使用myConnection作为新的SqlConnection(connectionString)       myConnection.Open()       将myCommand调暗为新的SqlCommand(insertSql,myConnection)       myCommand.Parameters.AddWithValue(“@ rowa”,str1)       myCommand.Parameters.AddWithValue(“@ rowb”,str2)
       myCommand.ExecuteNonQuery()        myConnection.Close()        结束使用

  • 但不知何故,当我加载页面时,它不显示已检查状态 (选中/未选中)。这是我在页面加载中的代码。所以我的问题是 ?
    1. 如何显示checkboxlist的选中状态?
    2. 我尝试在会话中保存状态,但是当我选中一个空白复选框时,它会 将所有选中的值保存到我的数据库中,如何避免这种情况?我的意思是我要保存 只有未选中数据库的值?
    3. 如果可以,可以禁用选中的复选框吗?
  

的Page_Load

 Dim connectionString As String =  
     

使用myConnection作为新的SqlConnection(connectionString)
      Dim objCmd_team As SqlCommand = New SqlCommand(“SELECT [rowa],[rowb] FROM [tbtest]”,myConnection)       myConnection.Open()       Dim objReader As SqlDataReader = objCmd_team.ExecuteReader()

While (objReader.Read())
    Dim currentCheckBox As ListItem = checkboxlist1.Items.FindByText(objReader("rowa"))

    If currentCheckBox IsNot Nothing Then
        currentCheckBox.Selected = True
    End If Dim currentCheckBox1 As ListItem = checkboxlist2.Items.FindByText(objReader("rowb"))
    If currentCheckBox1 IsNot Nothing Then
        currentCheckBox1.Selected = True
    End If  End While  End Using

0 个答案:

没有答案