List Item Selected属性不触发click事件处理程序

时间:2015-02-02 00:53:54

标签: c#

我有两个下拉列表,ddlPrimarySeriesddlSecondarySeries。我还在这些下拉列表中间有一个按钮(ImgBtnSeriesReversal),用于切换下拉列表中的选定值。这是在按钮单击上切换所选项目的代码:

foreach (ListItem item in ddlPrimarySeries.Items)
{
    if (Convert.ToInt32(item.Value) == intSecondarySeries)
    {
        item.Selected = true;
        break;
    }
}

foreach (ListItem item in ddlSecondarySeries.Items)
{
    if (Convert.ToInt32(item.Value) == intPrimarySeries)
    {
        item.Selected = true;
        break;
    }
}

循环遍历列表项并查看当前迭代的项是否等于另一个下拉列表中的所选项,如果是,则选择item.Selected = true然后中断。我的问题是,当值切换下拉列表时,ddlPrimarySeries_SelectedIndexChangedddlSecondarySeries_SelectedIndexChanged事件不会被解雇。我怎样才能实现这一点,并在值发生变化时触发事件处理程序?

2 个答案:

答案 0 :(得分:1)

foreach (ListItem item in ddlPrimarySeries.Items)
{
    if (Convert.ToInt32(item.Value) == intSecondarySeries)
    {
        item.Selected = true;
        break;
    }
}
***ddlPrimarySeries_SelectedIndexChanged(new object(), new EventArgs());***
foreach (ListItem item in ddlSecondarySeries.Items)
{
    if (Convert.ToInt32(item.Value) == intPrimarySeries)
    {
        item.Selected = true;
        break;
    }
}
***ddlSecondarySeries_SelectedIndexChanged(new object(), new EventArgs());***

答案 1 :(得分:0)

检查下拉列表中是否已将AutoPostBack设置为true。默认情况下,它是错误的。