单击按钮时为什么SelectedIndexChanged会触发DropDownList?

Ton*_*ich 7 .net asp.net viewstate autopostback drop-down-menu

我有一个ASP.NET DropDownListAutoPostBack=trueEnableViewState=false.我在页面上有一个什么都不做的按钮.如果我更改了ddl中的选择,它会回发,这是预期的.如果我单击按钮,页面会回发并且ddl会SelectedIndexChanged触发.为什么会被解雇?

Ash*_*pta 10

从微软的反馈: - http://connect.microsoft.com/VisualStudio/feedback/details/103844/dropdownlist-always-fire-selectedindexchanged-event-when-viewstate-is-disabled-and-the-selected-item-is -未改变的由这用户

"感谢您的反馈.如果ViewState是在网页上或DropDownList控件禁用,所选择的指标不能保存,所以每次回发看起来像选择指数已经改变,你可以保存自己所选择的指数和比较反对它查看选择是否确实已更改,或者您可以在DropDownList上启用ViewState."

在您的情况下,下拉列表的视图状态为false.启用相同或您可以比较上面建议的所选项目的索引.


ker*_*vin 2

尝试启用视图状态。这是一个常见问题。

编辑

如果您不想启用视图状态,则必须自己跟踪下拉列表值,就像这个人将DropDownList OnSelectedIndexChange 到没有 ViewState 的第 0 个索引一样