【发布时间】:2022-01-19 11:38:45
【问题描述】:
我有这段代码,它将 .aspx 元素加载到#maincontent div - 它可以工作,但是当我单击另一个按钮时,女巫正在加载相同的页面 #maincontent div 我看到控制台很多 deal.aspx 和 ta.aspx已加载。
如何实现一键一页加载?或者如何清除递归堆栈。
jquery 代码:
$("#tre").click(function () {
$("#mainContent").load("subMenu1/deal.aspx");
});
$("#tra").click(function () {
$("#mainContent").load("subMenu1/ta.aspx");
});
C#:
<div runat="server" id="mainContent"></div>
【问题讨论】:
-
它触发不是因为它是递归的,它触发是因为您正在对按钮单击进行完整的回发(发送所有数据,接收所有数据,再次执行所有 javascript)。您可能希望将您的按钮相关代码添加到问题中。我们不知道您使用的是 MVC 还是 webforms,答案可能会有所不同(MVC 有部分视图,webform 没有)
-
感谢您的回答。我正在使用网络表单
-
我可以阻止 js 中的完整回发吗?我尝试了 preventDefault 方法,但没有成功。
-
在 webforms 中有一些替代方案,例如,将按钮放在 UpdatePanel 中,以便按钮自动执行部分回发,或者使用 jquery 的 ajax 函数手动调用页面并使用回复。看看这些东西,看看它们是如何使用的,并尝试实现它们中的任何一个
标签: javascript c# jquery