CheckBoxList未更新 - ASP.Net
问题描述:
我有一个复选框列表,从数据库中获取其数据。用户将选择/复选框并单击删除。删除后,我正在重新绑定新数据,但这些更改未反映出来。该页面仍显示那些选中的复选框。尽管DB中的记录被删除。我错过了什么。CheckBoxList未更新 - ASP.Net
ASPX:
<asp:CheckBoxList ID="cblLanguages" runat="server" AppendDataBoundItems="true"
DataTextField="LanguageName" DataValueField="PKLanguageId" >
</asp:CheckBoxList>
<asp:Button ID="btnDelete" runat="server" OnClick="btnDelete_Click" Text="Delete" />
C#:
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
BindData();
}
}
protected void btnDelete_Click(object sender, EventArgs e)
{
DeleteLanguages();
BindData();
}
private void BindData()
{
DataSet dsData = LanguagesDB.GetLanguages();
cblLanguages.DataSource = dsData.Tables[0];
cblLanguages.DataBind();
}
private void DeleteLanguages()
{
//code to delete selected values
}
答
每次加载的CheckBoxList清除的项目和加载。
private void BindData()
{
if(cblLanguages.Items.Count > 0)
cblLanguages.Items.Clear();
DataSet dsData = LanguagesDB.GetLanguages();
cblLanguages.DataSource = dsData.Tables[0];
cblLanguages.DataBind();
}