將 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中文網其他相關文章!