驗證失敗後,我有一個控件(dropdownlist或按鈕)應該導致新的回發問題。我會盡力解釋清楚...asp.net:驗證失敗後禁用回發
我的網頁的目的是在數據庫中保存五個日期。該頁面具有以下控制:
- 五文本框,每一個包含日期
- 一個復位按鈕(的CausesValidation =假)在5個文本框
- 的下拉中的一個以恢復默認日期列表(自動回=真,的CausesValidation =假)的預定義模板適用5日至5個文本框
- 一個按鈕日期保存到數據庫
可以手動編輯文本框。所以,當我點擊保存按鈕時,如果日期的格式無效,則驗證失敗並保存被中止。問題就在此之後。如果我點擊重置按鈕或在下拉列表中選擇一個項目,則不會觸發回發。如果我再試一次,那麼它就會起作用。第一次驗證失敗後,有沒有辦法讓它工作第一次?我試圖在更改下拉列表中的選擇時停用客戶端上的驗證,但回發仍然不會發生。
這裏是代碼的相關部分:
<asp:DropDownList ID="cboScheduleTemplates" runat="server" AutoPostBack="true" CausesValidation="false" />
<asp:TextBox ID="txtDateDelivery1" runat="server" />
<asp:RegularExpressionValidator ID="revDateDelivery1" runat="server" Display="Dynamic" ValidationGroup="Schedule" ControlToValidate="txtDateDelivery1" Text="*" />
<asp:TextBox ID="txtDateYearbookQuantity" runat="server" />
<asp:RegularExpressionValidator ID="revDateYearbookQuantity" runat="server" Display="Dynamic" ValidationGroup="Schedule" ControlToValidate="txtDateYearbookQuantity" Text="*" />
<asp:TextBox ID="txtDateDelivery2" runat="server" />
<asp:RegularExpressionValidator ID="revDateDelivery2" runat="server" Display="Dynamic" ValidationGroup="Schedule" ControlToValidate="txtDateDelivery2" Text="*" />
<asp:TextBox ID="txtDatePersonalizations" runat="server" />
<asp:RegularExpressionValidator ID="revDatePersonalizations" runat="server" Display="Dynamic" ValidationGroup="Schedule" ControlToValidate="txtDatePersonalizations" Text="*" />
<asp:TextBox ID="txtDateDelivery3" runat="server" />
<asp:Button ID="btnSetDefaultDelivery3" runat="server" ValidationGroup="Schedule" CausesValidation="false" />
<asp:RegularExpressionValidator ID="revDateDelivery3" runat="server" Display="Dynamic" ValidationGroup="Schedule" ControlToValidate="txtDateDelivery3" Text="*" />
<asp:Button ID="btnSaveSchedule" runat="server" CssClass="btnAction" Text="Save" ValidationGroup="Schedule" />
<asp:ValidationSummary ID="validationSummarySchedule" runat="server" ValidationGroup="Schedule" DisplayMode="List" />
「在下拉列表中選擇一個項目,」你selcting同一項目? – Shoban 2012-04-16 15:32:24
下拉列表中的第一項是「選擇模板」。當選擇一個模板時,回發應該發生。在服務器端代碼中,我在處理選擇更改後再次將第一個項目設置爲選定項目。所以,不,在我描述的情況下,我不選擇相同的項目。 – ConnorsFan 2012-04-16 15:35:56
你可以發佈一些示例標記,所以我們可以看到事情是如何設置的? – 2012-04-16 16:38:25