jQuery UI ダイアログと ASP.NET ボタンのポストバックの統合
対話型の jQuery UI ダイアログを使用して ASP.NET Web ページを強化します。 ただし、これらのダイアログ内からサーバー側の ASP.NET ボタンのポストバックをトリガーするには、特定のアプローチが必要です。
ここに課題があります。標準の jQuery UI ダイアログは、適切に統合されていない場合、関連する ASP.NET ボタンの Click
イベントを自動的にトリガーしません。これは、ダイアログが通常、フォームの境界の外側にレンダリングされるためです。
問題と解決策:
次のコード スニペットは問題を示しています:
<code class="language-javascript">jQuery(function() { jQuery("#dialog").dialog({ draggable: true, resizable: true, show: 'Transfer', hide: 'Transfer', width: 320, autoOpen: false, minHeight: 10, minwidth: 10 }); jQuery("#button_id").click(function(e) { jQuery('#dialog').dialog('option', 'position', [e.pageX + 10, e.pageY + 10]); jQuery('#dialog').dialog('open'); }); });</code>
このコードは、そのままでは btnButton_Click
サーバー側イベント ハンドラーの実行に失敗します。
解決策は、ダイアログが ASP.NET フォーム内に正しく配置されていることを確認することです。 コードを次のように変更します:
<code class="language-javascript">jQuery(function() { var dlg = jQuery("#dialog").dialog({ draggable: true, resizable: true, show: 'Transfer', hide: 'Transfer', width: 320, autoOpen: false, minHeight: 10, minwidth: 10 }); dlg.parent().appendTo(jQuery("form:first")); });</code>
この調整されたコードは、ダイアログの親要素をページの最初のフォーム (jQuery("form:first")
) に追加します。この重要な手順により、ダイアログがフォームの送信プロセスの一部となり、ASP.NET ボタンのポストバックが正しく機能できるようになります。
以上がjQuery UI ダイアログから ASP.NET ボタンのポストバックをトリガーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。