同样的代码,不同的结果,我要崩溃了

shnaying1945 2012-03-04 12:29:24
protected void DropDownList_dept_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList_major.DataSourceID = "SqlDataSource_major";
DropDownList_major.DataTextField = "专业名";
DropDownList_major.DataValueField = "专业名";
DropDownList_course.DataSourceID= "SqlDataSource_course";
DropDownList_course.DataTextField = "课程";
DropDownList_course.DataValueField = "课程";
}

protected void DropDownList_major_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList_course.DataSourceID = "SqlDataSource_course";
DropDownList_course.DataTextField = "课程";
DropDownList_course.DataValueField = "课程";
}

有三个下拉控件,第一个是学院,第二个是专业,第三个是课程。为了实现严格级联,我绑定了第一个控件,然后分别响应了第一二个控件的选项改变时的事件,如上。
现在问题是,如果学院存在而专业为空的话,那对应的课程也应该为空,但是当选择了一个课程以后,换到专业为空的情况,课程下拉列表没变


而更让人崩溃的是,这用法是我自己之前用过的,而且有效的,代码几乎没变,其他设置也没变。
...全文
95 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shnaying1945 2012-03-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 net_lover 的回复:]
你绑定课程的时候判断下啊,
if(DropDownList_major.Items.Count == 0)
DropDownList_course.Items.Clear();
else
{
DropDownList_course.DataSourceID = "SqlDataSource_course";
DropDownList_course.DataTextField = "……
[/Quote]

以前开始的时候也是先清理了再绑定的,后来发现不清理也行,后来不行的时候也忘记了清理了。多谢大师

对于JQuery Ajax,还没了解过,嘿嘿,有时间得好好了解了解。
IT-Style 2012-03-04
  • 打赏
  • 举报
回复
老孟说得对啊!但是平常工作中像这种级联为实现无刷新,我一般用Jquery Ajax来实现!
色拉油 2012-03-04
  • 打赏
  • 举报
回复
autopostback 设成true
孟子E章 2012-03-04
  • 打赏
  • 举报
回复
你绑定课程的时候判断下啊,
if(DropDownList_major.Items.Count == 0)
DropDownList_course.Items.Clear();
else
{
DropDownList_course.DataSourceID = "SqlDataSource_course";
DropDownList_course.DataTextField = "课程";
DropDownList_course.DataValueField = "课程";
}

62,046

社区成员

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

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

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

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