2011-08-16 7 views
0

아래 코드를 실행하면 If 문이 'True'로 해석되지 않습니다. 체크 박스를 모두 선택해도 항상 'Assm'이 SelectedItem으로 표시됩니다.Selected ListItem이 다른 ListItem을 무시하도록 유지하려면 어떻게해야합니까?

그래서 'Assm'이 기본적으로 선택되도록 허용하고 코드 숨김을 통해 다른 확인란이 선택되어 있는지 확인하려면 어떻게해야합니까?

<asp:CheckBoxList ID="qualityChecks" runat="server" RepeatDirection="Horizontal" TabIndex="8"> 
    <asp:ListItem Text="Assm" Selected="True"></asp:ListItem> 
    <asp:ListItem Text="Qual"></asp:ListItem> 
    <asp:ListItem Text="PMgr"></asp:ListItem> 
    <asp:ListItem Text="Plant"></asp:ListItem> 
</asp:CheckBoxList> 

If qualityChecks.SelectedItem.Text = "Qual" Then 
    'Some Code 
End If 
+1

코드 숨김에 if 문이 있습니까? 그렇다면 어디에서? –

+0

코드 비헤이비어, aspx.vb 페이지에있는 버튼 클릭에 연결된 메서드입니다. – dotnetN00b

답변

1

CheckBoxList의 SelectedItem은 그런 식으로 작동합니다.
당신이하고 싶은 것은 ListItems를 반복하고 그들이 Checked인지 확인하는 것입니다. 빈 CheckListBox를 만드는

For each li as ListItem in qualitychecks.items 
    if li.checked and li.text = "Qual" then  
    'some code 
    end if 
next 
+0

다음과 같은 swiggle line과 툴팁이 표시됩니다. 'checked'는 'System.Web.UI.WebControls.ListItem – dotnetN00b

+0

'의 멤버가 아닙니다. 죄송합니다. SELECTED. –

+0

나는 당신이 대답 한 것처럼 대답을 발견했습니다. 그것은 효과가 있었다. 감사. – dotnetN00b

0

시도 :

<asp:CheckBoxList ID="qualityChecks" runat="server" RepeatDirection="Horizontal" TabIndex="8"> 
    </asp:CheckBoxList> 

및 이상

를 Page_Load

에 많은 ListItems를 추가
Protected Sub Page_Load(sender As Object, e As EventArgs) 

    Dim l1 As New ListItem() 
    Dim l2 As New ListItem() 
    Dim l3 As New ListItem() 
    Dim l4 As New ListItem() 
    l1.Text = "Assm" 
    l2.Text = "Qual" 
    l3.Text = "PMgr" 
    l4.Text = "Plant" 
    If Not Page.IsPostBack Then 
     l1.Selected = True 
     qualityChecks.Items.Add(l1) 
     qualityChecks.Items.Add(l2) 
     qualityChecks.Items.Add(l3) 
     qualityChecks.Items.Add(l4) 
    End If 
End Sub 
+0

그건 내 문제에 도움이 안된다. – dotnetN00b

0

시도 :

더 값을 지정하지 않은 것처럼
If qualityChecks.SelectedValue = "Qual" Then 
    'Some Code 
End If 

목록 항목, 그들은 Text

관련 문제