C# 如何在codebehind中引发列表控件SelectedIndexChanged事件?
如何使用C#?在代码隐藏中引发asp.net列表控件的SelectedIndexChanged事件它是自动引发的C# 如何在codebehind中引发列表控件SelectedIndexChanged事件?,c#,asp.net,C#,Asp.net,如何使用C#?在代码隐藏中引发asp.net列表控件的SelectedIndexChanged事件它是自动引发的 进入事件部分,lighting 属性窗口中的螺栓 双击旁边的占位符 事件这就是你将得到的 受保护的无效列表框1\u SelectedIndexChanged(对象 发送方,事件参数(e) { } 如果要从另一个代码块引发此事件,请调用 列表框1\u选择的索引已更改(发件人、, e) ) 如果您询问如何手动触发事件,以便它可以运行附加的任何逻辑:不要 您的事件处理程序应该很瘦
- 进入事件部分,
lighting 属性窗口中的螺栓
- 双击旁边的占位符 事件这就是你将得到的
} 如果要从另一个代码块引发此事件,请调用 列表框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回调方法,让客户机在发生某个事件时或通过自动计时器调用该方法 你是对的,在我自己的代码中,我肯定会这样做,我正在尝试修复这个应用程序,它是其他人的代码库,现在是我的一堆热气腾腾的代码,并且有很紧的启动期限。英雄联盟