将 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中文网其他相关文章!