0
나는
왜 항상 true CheckChanged 처리기에서 체크 박스 상태
checkbox = new CheckBox();
checkbox.ID = "AreaGroup";
checkbox.AutoPostBack = true;
checkbox.CheckedChanged += new System.EventHandler(this.EHArea_Clicked);
내가 다음 방법
void EHArea_Clicked(Object sender, EventArgs e)
{
foreach (RepeaterItem aItem in Repeater1.Items)
{
checkbox = (CheckBox)aItem.FindControl("TownCheckbox");
if (((CheckBox)sender).Checked)
{
checkbox.Checked = true;
}
else
{
checkbox.Checked = false;
}
}
}
과 뒤에있는 코드에서 EHArea_Clicked의 함수를 선언 다음과 같은 방식으로 선언 한 체크 박스를
내가 가진 문제는
((CheckBox)sender).Checked
에 관계없이 항상 true로 평가이다 확인란을 선택하거나 선택 취소 할 경우 왜 이런 일이 일어나는 지에 대한 생각을 가진 사람이 있습니까?
"checkbox"변수로 범위 문제가 발생할 수 있습니다. 다시 할당하고 있습니다 : checkbox = (CheckBox) aItem.FindControl ("TownCheckbox"); 확인란을 다시 지정하면 안됩니다. – zam664
AreaGroup CheckBox를 동적으로 생성하는 위치는 어디입니까? – Win
@ zam664 그렇다고 생각하지 않습니다. checkbox 변수와 관련된 모든 기능이 정상적으로 작동합니다. If 조건을! ((CheckBox) 보낸 사람)으로 전환하면. else 절이 항상 올바르게 수행됩니다. – KHeaney