0
我有以下方式宣佈爲什麼是始終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)aItem.FindControl(「TownCheckbox」);你不應該重新分配複選框。 – zam664 2014-10-29 19:00:42
哪裏動態創建AreaGroup CheckBox? – Win 2014-10-29 19:04:37
@ zam664我不認爲是這樣。與複選框變量相關的所有功能都可以正常工作。如果將if條件切換爲!((CheckBox)sender)。檢查它將始終正確執行else子句 – KHeaney 2014-10-29 19:05:14