title: asp.net: Postback disabled after validation failed
body: <p>After validation failed, I have a problem with controls (dropdownlist or button) that should cause a new postback. I will try to explain it clearly...</p>
  
  <p>The purpose of my page is to save fives dates in a database. The page has the following controls:</p>
  
  <ul>
  <li>Five textboxes, each one containing a date<br/></li>
  <li>A reset button (CausesValidation=false) to restore a default date in one of the 5 textboxes<br/></li>
  <li>A dropdown list (AutoPostback=true, CausesValidation=false) of predefined templates that applies 5 dates to the 5 textboxes<br/></li>
  <li>A button to save the dates to the database<br/></li>
  </ul>
  
  <p>The textboxes can be edited manually. So, when I click the Save button, if the format of the dates is not valid, the validation fails and the save is aborted. The problem is just after that. If I click on the Reset button or select an item in the dropdownlist, the postback is not triggered. If I try again, then it works. Is there a way to make it work the first time after the first validation failed? I tried deactivating the validation on the client-side when changing the selection in the dropdownlist but the postback still does not occur.</p>
  
  <p>Here is the relevant part of the code:</p>
  
  <pre><code>&lt;asp:DropDownList ID="cboScheduleTemplates" runat="server" AutoPostBack="true" CausesValidation="false" /&gt;
  &lt;asp:TextBox ID="txtDateDelivery1" runat="server" /&gt;
  &lt;asp:RegularExpressionValidator ID="revDateDelivery1" runat="server" Display="Dynamic" ValidationGroup="Schedule" ControlToValidate="txtDateDelivery1" Text="*" /&gt;
  &lt;asp:TextBox ID="txtDateYearbookQuantity" runat="server" /&gt;
  &lt;asp:RegularExpressionValidator ID="revDateYearbookQuantity" runat="server" Display="Dynamic" ValidationGroup="Schedule" ControlToValidate="txtDateYearbookQuantity" Text="*" /&gt;
  &lt;asp:TextBox ID="txtDateDelivery2" runat="server" /&gt;
  &lt;asp:RegularExpressionValidator ID="revDateDelivery2" runat="server" Display="Dynamic" ValidationGroup="Schedule" ControlToValidate="txtDateDelivery2" Text="*" /&gt;
  &lt;asp:TextBox ID="txtDatePersonalizations" runat="server" /&gt;
  &lt;asp:RegularExpressionValidator ID="revDatePersonalizations" runat="server" Display="Dynamic" ValidationGroup="Schedule" ControlToValidate="txtDatePersonalizations" Text="*" /&gt;
  &lt;asp:TextBox ID="txtDateDelivery3" runat="server" /&gt;
  &lt;asp:Button ID="btnSetDefaultDelivery3" runat="server" ValidationGroup="Schedule" CausesValidation="false" /&gt;
  &lt;asp:RegularExpressionValidator ID="revDateDelivery3" runat="server" Display="Dynamic" ValidationGroup="Schedule" ControlToValidate="txtDateDelivery3" Text="*" /&gt;
  &lt;asp:Button ID="btnSaveSchedule" runat="server" CssClass="btnAction" Text="Save" ValidationGroup="Schedule" /&gt;
  &lt;asp:ValidationSummary ID="validationSummarySchedule" runat="server" ValidationGroup="Schedule" DisplayMode="List" /&gt;
  </code></pre>