Asp.net 如何以编程方式触发dropdownlist.selectedindexchanged事件

Asp.net 如何以编程方式触发dropdownlist.selectedindexchanged事件,asp.net,Asp.net,我有一些代码,当用户在dropdownlist中选择一个项目时会触发。现在,我希望在以编程方式设置selectedindex时触发相同的代码 我试过了 ddlSystemLevelDCP.SelectedIndex=2; 还有这个 ddlSystemLevelDCP.SelectedValue="2"; 他们都没有触发此事件。但是,当用户更改选择时,将触发此事件。如果您有事件处理程序,则可以调用它 <asp:DropDownList ID="ddlSystemLevelDCP" run

我有一些代码,当用户在dropdownlist中选择一个项目时会触发。现在,我希望在以编程方式设置selectedindex时触发相同的代码

我试过了

ddlSystemLevelDCP.SelectedIndex=2;
还有这个

ddlSystemLevelDCP.SelectedValue="2";

他们都没有触发此事件。但是,当用户更改选择时,将触发此事件。

如果您有事件处理程序,则可以调用它

<asp:DropDownList ID="ddlSystemLevelDCP" runat="server"
AutoPostBack="true"
onselectedindexchanged="ddlSystemLevelDCP_SelectedIndexChanged">
</asp:DropDownList>
...
...
...
ddlSystemLevelDCP_SelectedIndexChanged(ddlSystemLevelDCP,EventArgs.Empty);

...
...
...
ddlSystemLevelDCP_SelectedIndexChanged(ddlSystemLevelDCP,EventArgs.Empty);

设置所选索引。假设为2,然后使用空参数调用该事件

ddlSystemLevelDCP.SelectedIndex=2;
ddlSystemLevelDCP_SelectedIndexChanged(null,null);

这应该行。

你是说在fires自动回发中?你确定索引正在更改吗?当所选项目为索引2,并且您在代码中将其设置为2时,所选内容不会更改,因此不会触发事件。它会引发stackoverflow异常。这对我很有效。没有问题。不确定OP为什么会出现异常