我有一個asp.net複選框列表綁定到一個linq到sql數據源,當我檢查我的CheckBoxList在頁面加載事件的項目數是0。能夠在我的複選框列表中設置選定的項目,但不能。如何在asp.net中設置多個選定的值checkboxlist
數據源的選定事件在頁面加載後觸發。如果是這種情況,我如何在列表中設置選定的項目?
如果我將SelectedValue設置爲一個值,它將只顯示最後一個值,而不是所選的所有值。我如何在頁面加載事件的checkboxlist中選擇多個值?
我有一個asp.net複選框列表綁定到一個linq到sql數據源,當我檢查我的CheckBoxList在頁面加載事件的項目數是0。能夠在我的複選框列表中設置選定的項目,但不能。如何在asp.net中設置多個選定的值checkboxlist
數據源的選定事件在頁面加載後觸發。如果是這種情況,我如何在列表中設置選定的項目?
如果我將SelectedValue設置爲一個值,它將只顯示最後一個值,而不是所選的所有值。我如何在頁面加載事件的checkboxlist中選擇多個值?
聽起來像一個頁面生命週期 - 數據綁定問題。
你應該真的看看(的答案)this question。
我使用DataBound事件來選擇設置選定的項目。
我知道這是一箇舊帖子,但我最近有同樣的問題。
要選擇DataBound CheckBoxList的多個項目,請處理DataBound事件並循環通過Items集合,根據需要單獨設置每個項目上的Selected屬性。
設置控件的SelectedValue屬性只會檢查最終項目。
foreach (ListItem item in MyCheckBoxList.Items)
{
item.Selected = ShouldItemBeSelectedMethod(item.Value);
}
公共無效SetValueCheckBoxList(CheckBoxList的CBL,串S值) { 如果 {
ArrayList的值= StringToArrayList(S值)(string.IsNullOrEmpty(S值)!);
foreach(cbl.Items中的ListItem li) if(values.Contains(li.Value)) li.Selected = true;其他 li.Selected = false;
}
}}
private ArrayList StringToArrayList(string value)
{
ArrayList _al = new ArrayList();
string[] _s = value.Split(new char[] { ',' });
foreach (string item in _s)
_al.Add(item);
return _al;
}
感謝, slnavn2000
尼斯方法我用:
private void SetCheckBoxListValues(CheckBoxList cbl, string[] values)
{
foreach (ListItem item in cbl.Items)
{
item.Selected = values.Contains(item.Value);
}
}
這將拋出一個錯誤,除非你有: using System.Linq; – cdonner 2015-06-02 19:12:18
集的CheckBoxList選擇項目從列表:
List<int> yourlist;
//fill yourlist
foreach (ListItem item in checkboxlist.Items)
{
if (yourlist.Contains(int.Parse(item.Value.ToString())))
item.Selected = true;
}
不要忘記包含System.Web.UI.WebControls命名空間 – 2014-06-16 15:23:33