Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何以编程方式启动DropDownList Box SelectIndexChange事件?_C#_Asp.net - Fatal编程技术网

C# 如何以编程方式启动DropDownList Box SelectIndexChange事件?

C# 如何以编程方式启动DropDownList Box SelectIndexChange事件?,c#,asp.net,C#,Asp.net,[编辑] 在我的代码中无法直接调用以下命令: void control_Changed(object sender, EventArgs e) 此功能通过DropDownListBox集合循环,每个DropDownListBox具有不同的选择更改功能。而且他们不在同一个页面,他们收集的DropDownListBox是来自不同用户控制的页面 我看到很多解决方案只是调用事件应该触发的函数。。 但这对我的案子不起作用 我有一个代码,可以将数据映射到dropdownlistbox集合,并为每个dr

[编辑]

在我的代码中无法直接调用以下命令:

void control_Changed(object sender, EventArgs e) 
此功能通过DropDownListBox集合循环,每个DropDownListBox具有不同的选择更改功能。而且他们不在同一个页面,他们收集的DropDownListBox是来自不同用户控制的页面


我看到很多解决方案只是调用事件应该触发的函数。。 但这对我的案子不起作用

我有一个代码,可以将数据映射到dropdownlistbox集合,并为每个dropdownlistbox选择适当的dropdownlistbox项

所以,有点像这样:

foreach (Control aControl in aControlCollection){
    if (aControl.GetType() == typeof(RadComboBox))
                {
                    bool FoundItem = false;
                    RadComboBox aComboBox = (aControl as RadComboBox);
                    foreach (RadComboBoxItem aComboItem in aComboBox.Items)
                    {
                        Debug.WriteLine("aComboItem " + aComboItem.Text + " Value" + aComboItem.Value);
                        if (aComboItem.Value.ToLower() == _dataObject.ToString().ToLower())
                        {
                            //aComboBox.SelectedIndex = aComboBox.Items.IndexOf(aComboItem);
                            aComboItem.Selected = true;
                            FoundItem = true;
                            ~~~FIRE EVENT HERE~~~~~
                            //break;
                        }
                        else {
                            aComboItem.Selected = false;                        
                        }
                    }
                    if (!FoundItem)
                    {
                        RadComboBoxItem aComboItem = new RadComboBoxItem();
                        aComboItem.Value = _dataObject.ToString();
                        aComboItem.Text = _dataObject.ToString();
                        aComboBox.Items.Add(aComboItem);
                        aComboBox.SelectedIndex = aComboBox.Items.IndexOf(aComboItem);
                    }
                }

            }
}
通常在页面中,当用户选择第一个下拉框时,接下来的第二个下拉框将根据第一个下拉框(从第一个下拉框selectindexchange事件)生成适当的下拉列表项

所以我想知道是否有任何方法可以通过编程启动DropDownList Box


更清楚的是,上面的函数是通过迭代页面上的所有DropDownListBox来调用的,因此它们可以链接到不同的函数中

Combobox_SelectedItem(null, null);
如果需要,您可以将所需的任何参数伪造为参数


如果需要,您可以将所需的任何参数伪造为参数。

如果您要使用传统的
无效控件(对象发送器,事件参数)
code

if (aComboItem.Value.ToLower() == _dataObject.ToString().ToLower())
{
  //aComboBox.SelectedIndex = aComboBox.Items.IndexOf(aComboItem);
  aComboItem.Selected = true;
  FoundItem = true;
  control_Changed(aComboItem, new EventArgs());
}


void control_Changed(object sender, EventArgs e) {
  // your code here
}

如果要使用传统的
void控件\u Changed(对象发送方,事件参数)
code

if (aComboItem.Value.ToLower() == _dataObject.ToString().ToLower())
{
  //aComboBox.SelectedIndex = aComboBox.Items.IndexOf(aComboItem);
  aComboItem.Selected = true;
  FoundItem = true;
  control_Changed(aComboItem, new EventArgs());
}


void control_Changed(object sender, EventArgs e) {
  // your code here
}

所以你想循环一组DropDownList并调用每个特定的事件?是的,因为每个都使用不同的函数,在这个函数中我无法调用它们的函数。所以你想循环一组DropDownList并调用每个特定的事件?是的,因为他们每个人都使用不同的函数,在这个函数中,我没有办法调用他们的函数。就像我说的,没有办法在那里调用它的函数。。。。它们是DropDownBox的集合,功能是通过DropDownBox集合循环,每个DropDownBox链接到不同的函数…我不明白为什么这很重要,它仍然归结为调用方法,您可能需要一个switch语句来确定调用哪个方法DropDownListBox的每个方法都来自不同的用户控件,此函数不知道DropDownListBox来自何处,这是一个通用的功能。这是否恰好是为了切换NCI的队长?@King这些用户控件中的每一个都暴露了你想要触发的事件吗?如果他们这样做了,你可以像我的例子一样称呼它。如果事件不是公共的,您可能需要尝试使用反射来访问它。不管是哪种情况,你都需要从根本上知道该给谁打电话。唯一的另一种方法是使用多态性,但我认为这对您的模型不太适用,因为这些已经是用户控件了。正如我所说,没有办法在那里调用它的函数。。。。它们是DropDownBox的集合,功能是通过DropDownBox集合循环,每个DropDownBox链接到不同的函数…我不明白为什么这很重要,它仍然归结为调用方法,您可能需要一个switch语句来确定调用哪个方法DropDownListBox的每个方法都来自不同的用户控件,此函数不知道DropDownListBox来自何处,这是一个通用的功能。这是否恰好是为了切换NCI的队长?@King这些用户控件中的每一个都暴露了你想要触发的事件吗?如果他们这样做了,你可以像我的例子一样称呼它。如果事件不是公共的,您可能需要尝试使用反射来访问它。不管是哪种情况,你都需要从根本上知道该给谁打电话。唯一的另一种方法是使用多态性,但我认为这对您的模型不起作用,因为这些已经是用户控件了。