我点了CHECKBOX后,CHECKBOXLIST中选中的值就被刷掉了,不知道为什么
<asp:repeater id="RepeaterTree" runat="server">
<itemtemplate>
<b>
<asp:CheckBox id="CheckBoxRole" Text='<%# DataBinder.Eval(Container.DataItem,"Popedom_Name") %>' runat="server" AutoPostBack="True" OnCheckedChanged="CheckBoxRole_CheckedChanged">
</asp:CheckBox>
<asp:CheckBoxList id="CheckBoxListUserId" Runat="server" Visible="False"></asp:CheckBoxList>
</b>
<br>
</itemtemplate>
</asp:repeater>private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
this.UpLoadFile.Attributes.Add("onclick","UpLoadFiles();"); string cnnString = @"server=BZ;database=REPETERTREE;uid=sa;pwd=;";
SqlConnection cnn = new SqlConnection(cnnString);
SqlDataAdapter cmd1 = new SqlDataAdapter("select * from C_AccountsPopedom",cnn); //创建填充 DataSet.
DataSet ds = new DataSet();
cmd1.Fill(ds,"C_AccountsPopedom"); RepeaterTree.DataSource = ds.Tables["C_AccountsPopedom"];
RepeaterTree.DataBind(); cnn.Close();
cnn.Dispose();
}
}public void CheckBoxRole_CheckedChanged(object sender, System.EventArgs e)
{
for(int i=0;i<this.RepeaterTree.Items.Count;i++)
{
CheckBox cb = (CheckBox)RepeaterTree.Items[i].FindControl("CheckBoxRole");
CheckBoxList cbl = (CheckBoxList)RepeaterTree.Items[i].FindControl("CheckBoxListUserId");
string cbText = cb.Text.ToString();
if (cb.Checked==true)
{
string cnnString = @"server=BZ;database=REPETERTREE;uid=sa;pwd=;";
SqlConnection cnn = new SqlConnection(cnnString);
SqlDataAdapter cmd1 = new SqlDataAdapter("select * from Sys_PrsnDossier where ID in(select UserID from Sys_Groups where GroupID = (select Popedom_id from C_AccountsPopedom where Popedom_Name='"+cbText+"'))",cnn);
//创建填充 DataSet.
DataSet ds = new DataSet();
cmd1.Fill(ds,"Sys_PrsnDossier");
//绑定checkboxlist
cbl.DataSource=ds;
cbl.DataTextField="Name";
cbl.DataValueField="ID";
cbl.RepeatColumns=10;
cbl.DataBind();
if(ds.Tables[0].Rows.Count > 0)
{
cbl.Visible=true;
}
}
if (cb.Checked==false)
{
cbl.Visible=false;
}
}
}
<asp:repeater id="RepeaterTree" runat="server">
<itemtemplate>
<b>
<asp:CheckBox id="CheckBoxRole" Text='<%# DataBinder.Eval(Container.DataItem,"Popedom_Name") %>' runat="server" AutoPostBack="True" OnCheckedChanged="CheckBoxRole_CheckedChanged">
</asp:CheckBox>
<asp:CheckBoxList id="CheckBoxListUserId" Runat="server" Visible="False"></asp:CheckBoxList>
</b>
<br>
</itemtemplate>
</asp:repeater>private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
this.UpLoadFile.Attributes.Add("onclick","UpLoadFiles();"); string cnnString = @"server=BZ;database=REPETERTREE;uid=sa;pwd=;";
SqlConnection cnn = new SqlConnection(cnnString);
SqlDataAdapter cmd1 = new SqlDataAdapter("select * from C_AccountsPopedom",cnn); //创建填充 DataSet.
DataSet ds = new DataSet();
cmd1.Fill(ds,"C_AccountsPopedom"); RepeaterTree.DataSource = ds.Tables["C_AccountsPopedom"];
RepeaterTree.DataBind(); cnn.Close();
cnn.Dispose();
}
}public void CheckBoxRole_CheckedChanged(object sender, System.EventArgs e)
{
for(int i=0;i<this.RepeaterTree.Items.Count;i++)
{
CheckBox cb = (CheckBox)RepeaterTree.Items[i].FindControl("CheckBoxRole");
CheckBoxList cbl = (CheckBoxList)RepeaterTree.Items[i].FindControl("CheckBoxListUserId");
string cbText = cb.Text.ToString();
if (cb.Checked==true)
{
string cnnString = @"server=BZ;database=REPETERTREE;uid=sa;pwd=;";
SqlConnection cnn = new SqlConnection(cnnString);
SqlDataAdapter cmd1 = new SqlDataAdapter("select * from Sys_PrsnDossier where ID in(select UserID from Sys_Groups where GroupID = (select Popedom_id from C_AccountsPopedom where Popedom_Name='"+cbText+"'))",cnn);
//创建填充 DataSet.
DataSet ds = new DataSet();
cmd1.Fill(ds,"Sys_PrsnDossier");
//绑定checkboxlist
cbl.DataSource=ds;
cbl.DataTextField="Name";
cbl.DataValueField="ID";
cbl.RepeatColumns=10;
cbl.DataBind();
if(ds.Tables[0].Rows.Count > 0)
{
cbl.Visible=true;
}
}
if (cb.Checked==false)
{
cbl.Visible=false;
}
}
}
解决方案 »
- JS得到节点的text 返回给后台 然后查询数据库 为什么不行?
- 关于RowFilter日期筛选,谢谢了啊
- 高手帮我看看这段有关DataGrid的代码 那里有错!
- 关于多功能的ListBox
- 请教一个关于xml的问题,对我来说很重要,关于女朋友的,谢谢大家了……
- c#数据库初学者问题
- 请教一个关于memcached问题,拜托了
- 如何在Datagrid中使用HyperLinkColumn中的DataNavigateUrlField字段打开一个模态窗口呀
- 每一个webForm上都会<iframe></iframe>,怎么回事啊
- 急问!如何建一个这样的项目?
- 属性设计器里少了很多属性?????
- 未找到路径问题!!!加了everyone,aspnet,user写权限也不行,请帮忙
checkboxlist你又重新绑定了一下
cbl.DataBind();
当然以前选中的值没了
{
string cnnString = @"server=BZ;database=REPETERTREE;uid=sa;pwd=;";
SqlConnection cnn = new SqlConnection(cnnString);
SqlDataAdapter cmd1 = new SqlDataAdapter("select * from Sys_PrsnDossier where ID in(select UserID from Sys_Groups where GroupID = (select Popedom_id from C_AccountsPopedom where Popedom_Name='"+cbText+"'))",cnn);
//创建填充 DataSet.
DataSet ds = new DataSet();
cmd1.Fill(ds,"Sys_PrsnDossier");
//绑定checkboxlist
cbl.DataSource=ds;
cbl.DataTextField="Name";
cbl.DataValueField="ID";
cbl.RepeatColumns=10;
if(cbl.Visible==false)
{
cbl.DataBind();}
if(ds.Tables[0].Rows.Count > 0)
{
cbl.Visible=true;
}
}