如何只添加数组列表中添加的已选中复选框?

时间:2010-11-19 11:47:49

标签: asp.net vb.net

我想仅在选中复选框时才插入复选框文本。 ..怎么做..

受保护的子Page_Load(ByVal sender As Object,ByVal e As System.EventArgs)处理Me.Load         TextBox1.Text = Request.QueryString(“txt”)         Dim splitted As String()= TextBox1.Text.Split(“,”)         For Each id As String In splitted             Dim ctrl As Control = Page.FindControl(“checkbox”& id)

        If Not ctrl Is Nothing Then
            Dim chkbox As CheckBox = DirectCast(ctrl, CheckBox)
            chkbox.Enabled = False
            Dim arrList As New ArrayList()
            'populate the list with some temp values
            arrList.Add(CheckBox1.Text)
            arrList.Add(CheckBox2.Text)

            'databind the list to our repeater
            Repeater1.DataSource = arrList
            Repeater1.DataBind()
        End If
    Next
End Sub

此代码将添加所有复选框,无论是否已选中!

任何机构都可以这样做......这样只有选中的复选框才能添加到数组列表中

1 个答案:

答案 0 :(得分:3)

这是你期待的吗?

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

TextBox1.Text = Request.QueryString("txt") 
Dim splitted As String() = TextBox1.Text.Split(",") 

For Each id As String In splitted 
    Dim ctrl As Control = Page.FindControl("checkbox" & id)

        If Not ctrl Is Nothing Then 
            Dim chkbox As CheckBox = DirectCast(ctrl, CheckBox) 
            chkbox.Enabled = False 
            Dim arrList As New ArrayList() 
            'populate the list with some temp values 
            if chkbox.Checked then
                  arrList.Add(chkbox.Text) 
            end if

            'databind the list to our repeater 
            Repeater1.DataSource = arrList 
            Repeater1.DataBind() 
        End If 
    Next 
End Sub