3

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' の有効な属性ではありません。

検証 (ASP.Net): 属性 'ConfirmOnFormSubmit' は、要素 'ConfirmButtonExtender' の有効な属性ではありません。http://img382.imageshack.us/img382/1391/confirmonformsubmitow3.gif

4

1 に答える 1

3

ConfirmOnFormSubmit が ConfirmButtonExtender で TRUE に設定されていることを確認します。

例のサイトから:

ConfirmOnFormSubmit - フォームが送信されて表示される直前まで確認ダイアログを待機する必要がある場合は True。これは、ASP.NET バリデーターが使用されていて、すべてのバリデーターがパスした後にのみ確認を表示する必要がある場合に便利です。

編集:そのウェブサイトによると、それは有効です。最新バージョンに更新するか、インテリセンスを無視して、投稿したときに何が起こるかを確認してください。

于 2009-01-27T19:13:31.023 に答える