我有一个用于下拉列表的必填字段验证器。代码:
<asp:DropDownList ID="ddlSoortGebeurtenissen" runat="server"
DataSource="<%# SoortGebeurtenissen %>" CssClass="inputtext"
CausesValidation="False" ValidationGroup="valGroupSelectControls"
DataTextField="Title" DataValueField="ID" AutoPostBack="True"
OnSelectedIndexChanged="ddlSoortGebeurtenissen_SelectedIndexChanged">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="requiredValidatorSoortGebeurtenis" runat="server"
ErrorMessage="Invullen van Soortgebeurtenis is verplicht"
ToolTip="Invullen van Soortgebeurtenis is verplicht"
ControlToValidate="ddlSoortGebeurtenissen"
Display="Dynamic"
CssClass="ui-icon-errormsg"
Text="Invullen van Soortgebeurtenis is verplicht"
ValidationGroup="valGroupSelectControls" /> selectedIndexChanged事件在需要时触发,除非以前已完成验证。当我按下submit按钮并选择了一个空值时,验证器很好地向我显示了错误消息。然后,当我更改选择,并期望触发selectedIndexChanged事件时,它不会触发。在我触发另一个回发之前,什么都不会发生。(假设是close按钮)。然后触发selectedIndexChanged事件,并触发实际按钮的事件。
不知何故,selectedIndexChanged事件会一直保留到下一次回发,但不会导致回发本身。只有当验证预先显示错误时,才会发生这种情况。
发布于 2014-03-27 18:52:30
从下拉列表中删除CausesValidation="False"属性
发布于 2014-03-27 22:49:25
尝试使用
EnableClientScript="False"
https://stackoverflow.com/questions/22685149
复制相似问题