两个CheckBoxList联动问题

wybwml2008 2008-12-24 08:58:19
这个问题困扰我很久了,项目中动态生成了两个CheckBoxList:ChkList1和ChkList2,现在要实现的功能是:
程序动态生成ChkList1,当选中ChkList1中的某一个选项时,根据这个选项程序查询数据库,将查询到的数据再次动态添加到ChkList2中,程序根据ChkList2中选择的选项做出一系列动作。下面是我动态添加两个CheckBoxList的事件:
protected void StuClass()//动态添加CheckBoxList
{
for (int j = 0; j < Class.Items.Count; j++)
{
Message("", Class.Items[j].Selected.ToString());
if (Class.Items[j].Selected)
{

MyAcc.Open();
SqlParameter[] parameters = {
new SqlParameter("@Num",SqlDbType.VarChar,6),
new SqlParameter("@GradeID",SqlDbType.VarChar,20),
};
parameters[0].Value = Session["UserNum"];
parameters[1].Value = Class.Items[j].Value.ToString().Trim();
MyAcc.RunProcForDataReader("Pre_View_Teacher_Chk", parameters, out ClassRead);
while (ClassRead.Read())
{
ListItem ClassNameItem = new ListItem();
ClassNameItem.Text = ClassRead["Student"].ToString();
ClassNameItem.Value = ClassRead["TeaID"].ToString();
Grade.Items.Add(ClassNameItem);
}
Panel2.Controls.Add(Grade);
}
}
}
protected void TeaGrade()//动态添加教师所在年级的CheckBoxList
{
MyAcc.Open();
SqlParameter[] parameters = {
new SqlParameter("@Num",SqlDbType.VarChar,6),
};
parameters[0].Value = Session["UserNum"];
MyAcc.RunProcForDataReader("Pre_Tea_xingzhi", parameters, out ClassRead);
while (ClassRead.Read())
{
ListItem ClassNameItem = new ListItem();
ClassNameItem.Text = ClassRead["GradeName"].ToString();
ClassNameItem.Value = ClassRead["GradeID"].ToString();
Class.Items.Add(ClassNameItem);
}
GradePal.Controls.Add(Class);
}
...全文
132 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mengxj85 2008-12-24
  • 打赏
  • 举报
回复
Up
Yunnying 2008-12-24
  • 打赏
  • 举报
回复
加个updataPanel就可以了
  • 打赏
  • 举报
回复
protected void Page_Load(object sender, EventArgs e)
{ StuClass();}


点击第一个列表事件调用TeaGrade();

也许这种问题是个问题!
niitnanfeng 2008-12-24
  • 打赏
  • 举报
回复
简单的加个updataPanel就可以了。
wybwml2008 2008-12-24
  • 打赏
  • 举报
回复
哪位大哥能用ajax给我写个无刷新的就好了
qinhl99 2008-12-24
  • 打赏
  • 举报
回复
up
wybwml2008 2008-12-24
  • 打赏
  • 举报
回复
问题是加了委托后,就必然要设置Class.AutoPostBack = true;
这样一来页面刷新,执行page_load()
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Class.RepeatDirection = RepeatDirection.Horizontal;
Class.RepeatColumns = 3;
Class.ID = "Class";
Class.Items.Clear();
ReadQX();
}
}
页面就什么也没有了呀
Jinglecat 2008-12-24
  • 打赏
  • 举报
回复
Class.Items.Add(ClassNameItem);
}
Class.SelectedIndexChanged += new EventHandler(My_StuClass)
GradePal.Controls.Add(Class);

void My_StuClass(object sender, EventArgs e)
{
StuClass();
}
amingo 2008-12-24
  • 打赏
  • 举报
回复
帮LZ顶

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧