Updatepanel AJAX での Yes/No メッセージボックスの使用
-
22-08-2019 - |
質問
ユーザーに確認を求め、メッセージも表示するという要件があります。
これに使用されたプログラマーは Windows フォームの出身でした。したがって、隅々までMsgBoxを使用してきました。ビジネス ロジック部分でも、ユーザーからの Yes/No スタイルの確認を必要とするメッセージボックスが使用されています。
リモート マシンからサイトをテストしたところ、DefaultDesktopOnly/ServiceNotification を使用するとエラーが発生することがわかりました。しかし、テストしたところ、これは私たちが探していたものとはまったく異なることがわかりました。
ここで私の要件は、「レコードの削除」「はい、いいえ」のようなコードから確認ボックスが表示され、その応答に基づいてアクションを実行することです。
これは updatepanel を使用して行われます。
解決
あなたはいくつかの場所でこのコードを使用すると、私はあなたがメッセージであなたのメッセージと表示され、更新パネルを取るカスタムコントロールを作成し、提案するはい/いいえボタンます。
あなただけのメッセージボックスのような何かを得るように、内部的には...はい、いいえ、キャンセルのためのいくつかの値を設定します。
他のヒント
パネルを更新するかどうか、あなたはconfirm()
JavaScript関数を呼び出しますいくつかのJavaScriptを添付する必要があります。それの結果に基づいて、あなたがキャンセルjavascriptのデフォルトリンク/ボタンの動作...
これはあなたのスタートのためにあなたの頭を傷つけるために何かを与える:
http://www.dotnetfunda.com/tutorials/ajax/updatepanel.aspx
それは本当に問題が、必要条件ではありません。
とにかく...メッセージボックスは、HTMLやブラウザ機能ではありません、Windowsの機能です。今、あなたはjavascriptのがの機能または経由を確認し、次のいずれかの方法でそれを模倣することができますはい/いいえボタンと適切なイベントます。
あなたの要件が更新パネルに働く何かをしていることを考えると、私はこのために、手動でJavaScriptのイベントを配線することはあなたが慣れているものにするつもりはないので、私はASPをお勧めしたいことを推測すると思います:パネルの内部をバインドされたサーバー側のイベントとはいているのUpdatePanelとノーボタン。あなたはそれに応じて、行為を確認したいと他のすべてを非表示にしたときのUpdatePanelロジックでは、これを示します。
サーバー側で確認を行う場合は、より複雑なコード生成が必要になります。まずは2つ用意します ビュー. 。最初のものにはリンク/ボタンがあります 消去 しかし、実際には確認を表示する 2 番目のビューへの単なるポストバックになります。 形状 はい/いいえで。このフォームでは、あなたの はい ボタンは実際にはあなたのものになります 消去 アクション...
しかし、私はそれでも JavaScript とサーバーサイドのハイブリッド (特にこれが私たちが話しているグリッドの場合) を選択するでしょう (なぜなら alert()
そして confirm()
ユーザーエクスペリエンスの観点からは悪です):
- リンクボタンがあります 消去
- ユーザーがそれをクリックすると、このコントロールを div に置き換え、yes/no の 2 つのリンクボタンを表示します。
- 2 つのうちのいずれかを使用してポストバックを送信します
補遺
- いいえ linkbutton は、この確認を非表示にして表示するための単なるダミーである可能性があります 消去 繰り返しになりますが、サーバーの往復がないことを意味します
- これを模倣するユーザーコントロールを作成することもできます 洗練された リンク動作を削除して、アプリケーション全体で再利用できるようにします。