Microsoft のConfirmButtonエクステンダーを使用して、「よろしいですか?」と尋ねる送信ボタンがあります。ただし、ページがクライアント側の検証に合格するかどうかに関係なく起動します。
<asp:TextBox ID="TextBox1" runat="server" />
<asp:RequiredFieldValidator ID="RequiredFieldValidatorTextBox1"
runat="server"
ControlToValidate="TextBox1"
ErrorMessage="First name is required"
Display="Dynamic" />
...
<asp:Button ID="Button1"
runat="server"
Text="Submit"
CausesValidation="True" />
<ajaxToolkit:ConfirmButtonExtender ID="ConfirmButtonExtenderButton1"
runat="server"
TargetControlID="Button1"
ConfirmText="Are you sure?" />
...
<asp:ValidationSummary id="ValidationSummary1"
runat="server"
ShowMessageBox="True" />
そのため、ユーザーが必須フィールドを空白のままにして [送信] ボタンをクリックした場合。次の 2 つのメッセージ ボックスが表示されます。
検証用の 1 つ...
ValidationSummary ShowMessageBox http://img120.imageshack.us/img120/8305/validationzn6.gif
それから確認のために1つ...
ConfirmButtonExtender http://img228.imageshack.us/img228/678/confirmationam3.gif
(注: OK とキャンセルはどちらもキャンセルするだけです。)
検証が失敗した場合に確認が表示されるのは意味がありません。どちらかである必要があります。これどうやってするの?
アップデート:
ConfirmOnFormSubmit を使用しようとすると、次の警告が表示されます。
検証 (ASP.Net): 属性 'ConfirmOnFormSubmit' は、要素 'ConfirmButtonExtender' の有効な属性ではありません。