[英]Handling selected items from Checkboxlist
感謝以下建議:我有一個名為CBL_categ的復選框列表,包含20多個項目。 我從中選擇了一些項目,並按下按鈕將下面的代碼塊關聯起來。 最后的總和總是為零。 為什么?
protected void FButton_Click(object sender, EventArgs e)
{
int sum=0;
for (int i = 1; i < 20; i++)
{
if (CBL_categ.Items[i].Selected)
sum = sum + 1;
}
statusLabel.Text += " " + sum;
}
我不會使用您提供的代碼。 它假設該列表總是有20個項目。 這可能導致越界錯誤,而不是所有項目都被計算,等等。 我會用這樣的東西:
protected void FButton_Click(object sender, EventArgs e)
{
int sum=0;
foreach(ListItem item in CBL_categ.Items)
{
if(item.Selected){
sum++;
}
}
statusLabel.Text += " " + sum;
}
聽起來是在實際使用此方法之前重新綁定ListBox。 因此,例如,如果您的Page_Load方法如下所示:
protected void Page_Load(object sender, EventArgs e)
{
//This gets called before your event on postback and will erase your selected items.
BindListBox();
}
那有意義嗎?
編輯:
如果您的Page_Load看起來像是修改它,所以它看起來像這樣來糾正問題:
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack){
BindListBox();
}
}
當你填充你的復選框列表時,請確保你還檢查頁面是否沒有回發,即在page_load上檢查if(!Page.IsPostBack){填充你的列表},否則你只會覆蓋選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.