我有一些代码,在PageLoad中将一些默认数据集绑定到两个DropDownLists(ddlA
和ddlB
(。两个数据集都有一个string.Empty
的默认选择。
当ddlA
发生变化时,ddlB
应该根据ddlA
的选择获得一个新的数据集。
我可以让它正常工作。我面临的问题是,当我选择ddlA
的空项时"--Select An Item from ddlA--"
然后我尝试将空数据源绑定到ddlB
并给它一个默认的空选项,ddlB.DataSource = null; ddlB.DataBind(); ddlB.Items.Insert(0, [new list item])
我得到的是初始数据集加上新的空列表项。
我检查了一下,在ddlA_SelectedIndexChanged我可以做ddlB.Items.Clear();
,但我主要想知道为什么绑定空数据源不会给我一个没有项目的 DropDownList。
"ddlB 根据 ddlA 的选择填充"的逻辑移动到它自己的DropDownList_SelectedIndexChanged解决了这个问题。我认为这是因为发生了回发,因此 ddlB 的数据源已经为空,如果我在 ddlA 中选择了 string.empty 选择,那么它当时所做的只是添加一个字符串.空选择到 ddlB 中现在为空的数据源