Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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# 如何在codebehind中引发列表控件SelectedIndexChanged事件?_C#_Asp.net - Fatal编程技术网

C# 如何在codebehind中引发列表控件SelectedIndexChanged事件?

C# 如何在codebehind中引发列表控件SelectedIndexChanged事件?,c#,asp.net,C#,Asp.net,如何使用C#?在代码隐藏中引发asp.net列表控件的SelectedIndexChanged事件它是自动引发的 进入事件部分,lighting 属性窗口中的螺栓 双击旁边的占位符 事件这就是你将得到的 受保护的无效列表框1\u SelectedIndexChanged(对象 发送方,事件参数(e) { } 如果要从另一个代码块引发此事件,请调用 列表框1\u选择的索引已更改(发件人、, e) ) 如果您询问如何手动触发事件,以便它可以运行附加的任何逻辑:不要 您的事件处理程序应该很瘦

如何使用C#?

在代码隐藏中引发asp.net列表控件的SelectedIndexChanged事件它是自动引发的

  • 进入事件部分,
    lighting
    属性窗口中的螺栓

  • 双击旁边的占位符 事件这就是你将得到的
受保护的无效列表框1\u SelectedIndexChanged(对象 发送方,事件参数(e) {
}

如果要从另一个代码块引发此事件,请调用

列表框1\u选择的索引已更改(发件人、, e) )


如果您询问如何手动触发事件,以便它可以运行附加的任何逻辑:不要

您的事件处理程序应该很瘦。如果需要从多个位置执行相同的操作,则将该功能提取到其自己的方法中,并让事件处理程序调用该功能。例如:

private void CountryListBox_SelectedIndexChanged(object sender, EventArgs e)
{
    UpdateStates(ListBox1.SelectedItem.Text);
}

private void UpdateStates(string country)
{
    StateListBox.DataSource = GetStates(country);
    StateListBox.DataBind();
}
现在,您只需调用此事件处理程序引用的方法,即

private void Page_Load(object sender, EventArgs e)
{
    UpdateStates("USA");
}

不要将复杂的逻辑放在事件处理程序中,并尝试从意外的地方引发这些事件。相反,将复杂的逻辑放在它自己的方法中,这样您就可以从其他地方执行相关的操作。

如果您想要的不仅仅是执行为所选索引编码的代码行为(如前一个答案中所列),那么简单的答案是没有简单的方法。您可以编写一个简单的代码,在prerender或render上显式定义呈现HTML中的控件id变量,然后使用javascript设置所选索引。这将导致触发事件的回发。或者,您可以注册一个ajax回调方法,让客户机在发生某个事件时或通过自动计时器调用该方法

你是对的,在我自己的代码中,我肯定会这样做,我正在尝试修复这个应用程序,它是其他人的代码库,现在是我的一堆热气腾腾的代码,并且有很紧的启动期限。英雄联盟