如何通过编程方式触发下拉列表的SelectedIndexChanged事件

8

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

我尝试过设置

ddlSystemLevelDCP.SelectedIndex=2;

同时,这也需要翻译

ddlSystemLevelDCP.SelectedValue="2";

其中没有任何一个触发此事件。但是当用户更改选择时,将会触发此事件。


你的意思是在焦点失去时自动提交吗? - Kronass
1
你确定索引正在改变吗?当所选项为索引2,并在代码中将其设置为2时,选择不会更改,因此事件不会被触发。 - Terry
2个回答

11

设置您的选定索引。 比如,设置为2,然后使用null参数调用该事件。

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

这应该可以工作。


8
如果您有事件处理程序,您可以调用它。
<asp:DropDownList ID="ddlSystemLevelDCP" runat="server"
AutoPostBack="true"
onselectedindexchanged="ddlSystemLevelDCP_SelectedIndexChanged">
</asp:DropDownList>
...
...
...
ddlSystemLevelDCP_SelectedIndexChanged(ddlSystemLevelDCP,EventArgs.Empty);

它抛出了堆栈溢出异常。 - Rohit Raghuvansi
这对我起作用了。没有问题。不确定为什么OP会出现异常。 - Mausimo
也适用于我。谢谢!编译器不接受空参数,但是它接受下拉列表的名称和 EventArgs.empty 作为参数。 - Robert Cody

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接