2012-06-01 2 views
2
같은

로 인식되지 않습니다, 나는 그 같은 일을 해요 : 나는 상자를 검사 할 때선택된 체크 박스 나 체크 박스의 변수 금액과 checkboxlist있어

protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     for (int j = 0; j < CheckBoxList1.Items.Count; j++) 
     { 
      //LabelTest.Text = "Something"; It works here 
      if (CheckBoxList1.Items[j].Selected) 
      { 
       //LabelTest.Text = "Something 2"; It doesn't work here 
       TextBoxTest.Text = CheckBoxList1.Items[j].Text; 
       LabelTest.Text = CheckBoxList1.Items[j].Value; 
      } 
     } 
    } 

에서, "뭔가"입니다 내 페이지에 표시되지만 나머지는 그렇지 않습니다. 내가 작성하는 시도 내 맘도 "경우"

if (!CheckBoxList1.Items[j].Selected) 

그리고 그렇게 같은 일을, 내가이 체크 박스의 총 수는 상자, 내 TextBoxTest에 "106"을 검사 할 때,하지만 체크 박스의 수

내 CheckBoxList1에는 진정한 자동 멈춤 기능이 있습니다.

귀하의 도움에 감사 드리며, 저의 영어 실력을 유감스럽게 생각합니다. 당신이 재산 Checked을 사용해야합니다 체크 박스를 들어

+0

유 그것에 u는 물론 – Talha

+0

, 나는 이전에 다른 질문을 checkboxlist 모든 것을 (내가 생각하는) 채우는 코드입니다 보여줄 수 : http://stackoverflow.com/questions/10846445/selecting-one -checkbox-in-loop-generated-checkboxes-from-checkboxlist –

+1

언제 체크 박스를 채우고 있습니까? 각각의'Page_Load'에서 다시 작성한다면, 당신이 체크 한 사실을 무시할 수 있습니다. – geekchic

답변

3

문제는 당신이 당신의 CheckBoxList에 항목을 추가하는 방식으로 인과 루프의 변경하려고합니다. 다른 주제의 코드를 제공했습니다. 당신이해야 할 것은이 안에 그 코드를 동봉하는 것입니다

if (!IsPostBack) 
{ 
    ... your code to add items to the CheckBoxList 
} 

그렇지 않으면, 당신이 선택한 속성에 대한 거짓의 기본 값으로 모든 게시에 목록을 다시 작성하십시오.

+0

정말 고마워요! 알았어! 나는 이제 체크 박스의 실제 숫자를 얻는다. 고마워요, 고마워요! –

3

하지 Selected :

if (CheckBoxList1.Items[j].Checked) 

하지만 지금이 권리를 테스트 할 수 없습니다.

+0

나는 그렇게 해봤지만 "뻔뻔 스러움에는"선택 "에 대한 정의가 포함되어 있지 않으므로"선택 "으로 변경되었습니다./ –

+0

@PierrePellegrinoMilza : 어떻게하면 확인란에 체크 된 속성. http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.checkbox.aspx –

+0

CheckBoxList의 정규화 된 형식은 무엇입니까? – Franky

1

위치를 체크 박스 목록 항목을 추가하는이 일을해야하고 내가 그것을

protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
     foreach (ListItem item in CheckBoxList1.Items) 
     { 
      if (item.Selected == true) 
      { 
       //Response.Write(item.Value); 
       LabelTest.Text = item.Value; 
      } 
     } 
} 
+0

당신과 스티브가 똑같은 글을 올렸으므로 당신이 옳다고 생각합니다. 시도해 보겠습니다. 고마워요! –

1

을 테스트 한? 그때 페이지로드에 희망. 페이지로드에서

:

private void Page_Load() 
{ 
    if (!IsPostBack) 
    { 
     // load only fist time 
     LaodCheckBoxList(); 
    } 
} 

당신이 다시 게시하고 모든 목록 항목을 다시합니다 checkboxlist 마찬가지의 AutoPostBack을 가능하게하기 때문에, 당신은 선택 상태를 잃은 것입니다.

+0

감사하지만 ".Checked"를 사용할 때와 같은 문제가 발생했습니다. "어쩌구"GetItemCheckState "에 대한 정의가 포함되어 있지 않습니다. ( –

+0

@PierrePellegrinoMilza가 내 대답을 업데이트했습니다. – Damith

+1

이 정확한 생각은 여기에 답변을 보지 못했습니다. – geekchic

1

내가 아는 한 귀하의 코드가 작동해야합니다. foreach는

foreach (ListItem itm in CheckBoxList1.Items) 
{    
    if (itm.Selected == true)    
    {     
     TextBoxTest.Text = itm.Text;     
     LabelTest.Text = itm.Value;    
    }   
} 
+0

예, 맞습니다. 작동해야합니다 ... – Talha

+0

나는 foreach로 시도했지만 그 방식대로하지 않았습니다. ! :) –

관련 문제