如何仅在单击指定按钮时启动 DropDownList SelectedIndexChanged 事件?
How to launch DropDownList SelectedIndexChanged event only if clicked on spicified button?
所以。我在页面上生成了很多 DropDownLists。页面有 2 个视图,第一个有这个可以更改的 DDL,第二个视图正在做一些其他事情,用户可以更改这个视图。
因为生成了 DDL,所以我在 protected override void OnInit
中重建它们,以便用户能够看到它们的更改(禁用 DDL 上的自动回发)。
所以现在关于问题。
一切正常,但方式不完全正确。如果一些 DDL 被更改并且页面由于回发而开始重新加载(由任何按钮单击引起,在本例中由更改视图的按钮引起)SelectedIndexChanged
事件正在拍摄并正在做它的事情。
有没有办法让 SelectedIndexChanged
事件仅在用户按下某个特定的 "save" 按钮时才拍摄,并且在按下任何其他按钮后不拍摄(这会导致回发)?
将 if(Page.IsPostback) return;
添加到您的 SelectedIndexChanged
事件处理程序,并直接从按钮的 OnClick
方法调用您的事件处理程序。
棘手的部分是您必须在不使用 EventArgs
.
的情况下使您的事件处理函数起作用
所以。我在页面上生成了很多 DropDownLists。页面有 2 个视图,第一个有这个可以更改的 DDL,第二个视图正在做一些其他事情,用户可以更改这个视图。
因为生成了 DDL,所以我在 protected override void OnInit
中重建它们,以便用户能够看到它们的更改(禁用 DDL 上的自动回发)。
所以现在关于问题。
一切正常,但方式不完全正确。如果一些 DDL 被更改并且页面由于回发而开始重新加载(由任何按钮单击引起,在本例中由更改视图的按钮引起)SelectedIndexChanged
事件正在拍摄并正在做它的事情。
有没有办法让 SelectedIndexChanged
事件仅在用户按下某个特定的 "save" 按钮时才拍摄,并且在按下任何其他按钮后不拍摄(这会导致回发)?
将 if(Page.IsPostback) return;
添加到您的 SelectedIndexChanged
事件处理程序,并直接从按钮的 OnClick
方法调用您的事件处理程序。
棘手的部分是您必须在不使用 EventArgs
.