asp.net アプリケーションを開発していますが、コード ビハインドで確認ダイアログ ボックスを呼び出す必要があります。その後、ユーザーのクリックを取得する必要があります (ユーザーが [OK] または [キャンセル] をクリックした場合)。
彼がダイアログの [OK] ボタンをクリックした場合、ダイアログを呼び出す前に停止した場所からコードを実行し続ける必要があります。
この問題を解決するために、aspx にタイプ ボタンの入力を入力し、そのスタイルを visibility:hide に設定することを考えました。したがって、ユーザーが [OK] ボタンをクリックすると、プログラムはこの非表示のボタンを呼び出し、停止したジョブを続行するメソッドを呼び出します。
コードを投稿します。役立つと思います。
以下のコードは私のコードビハインドにあり、確認ダイアログを呼び出します。
System.Web.UI.
ScriptManager.RegisterClientScriptBlock(this, GetType(), "__Mensagem", "if (confirm('" + CustomMessage + "')){document.getElementById(\'<%=btnSave.ClientID%>\').click();}", true);
以下のコードは私のaspxにあります。これは「非表示」ボタンです。
<input style="visibility:hidden;" id="btnSave" runat="server" onclick="btnSave_Click"/>
なぜ機能しないのかわかりません。確認ダイアログ ボックスの [OK] ボタンをクリックした後に受け取るエラーは次のとおりです。
私はブラジル出身なので、エラーはポルトガル語で、英語に翻訳すると次のようになります。
「Microsoft JScript で実行時エラーが発生しました 'document.getElementByID(...)' は null またはオブジェクトではありません」
ページの HTML コードを確認すると、ボタンがないことに気付きました。
UpdatePanel を使用しているためかもしれませんが、それを削除すると (テストのためだけに Update Panel を使用する必要があります)、同じエラーが表示され、今回はボタンがページの html コードにありました。