gpt4 book ai didi

jquery - 无法提交在 Jquery 模型中加载的页面

转载 作者:行者123 更新时间:2023-12-01 06:00:35 24 4
gpt4 key购买 nike

我正在从母版页加载 Jquery 模型中的 aspx 页面,页面在弹出窗口中加载正常。但弹出窗口不会触发任何服务器端事件。

母版页代码

<div id="Exceptionsdialog"></div>  


function OpenExceptions() {
$('#Equipmentdialog').load('Popups/Test1.aspx', function () {
$(this).dialog({
modal: true,
width: 900,
height: 400
});
});
}

但是没有任何服务器方法被触发,或者当我提交页面或任何按钮单击事件时出现错误,提示找不到资源。

<Page Language="C#" AutoEventWireup="false"  CodeBehind="Exceptions.aspx.cs" Inherits="LabSafe.Web.Popups.Exceptions" />
<head runat="server">
<title></title>
<script type="text/javascript">
function OpenJquerypopup() {
alert("Hello");
}
</script>
<form id="form1" runat="server">
<div id="div_assetSearchBar">
<asp:Button runat="server" id="btn_ViewExceptions" Text="View Exceptions" OnClick="btn_ViewExceptions_Click" />
</div>

Screenshot

最佳答案

jQuery 模态是通过克隆 DOM 元素并将它们放置在 body 标记的位置来创建的。这会创建有效的 DOM 元素,并且在客户端运行良好。

但是,对于要发送事件的 ASP.NET 控件,它们必须位于表单标记内(ASP.NET 只创建一个表单标记)。

解决方案是创建对话框,然后将元素放回表单标记中。

function OpenExceptions() {
$('#Equipmentdialog').load('Popups/Test1.aspx', function () {
$(this).dialog({
modal: true,
width: 900,
height: 400
});
$('#Equipmentdialog').parent().appendTo(jQuery("form:first"));
});
}

您的服务器事件现在应该可以完美触发。

关于jquery - 无法提交在 Jquery 模型中加载的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11889954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com