首頁 >後端開發 >C++ >如何從 jQuery UI 對話方塊觸發 ASP.NET 按鈕回發?

如何從 jQuery UI 對話方塊觸發 ASP.NET 按鈕回發?

Barbara Streisand
Barbara Streisand原創
2025-01-19 14:22:09854瀏覽

How to Trigger an ASP.NET Button Postback from a jQuery UI Dialog?

將 jQuery UI 對話框與 ASP.NET 按鈕回發整合

使用互動式 jQuery UI 對話方塊增強您的 ASP.NET 網頁。 但是,從這些對話方塊觸發伺服器端 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn