我正在将一个应用程序从ASP.NET 2移植到ASP.NET 4.5
我有一个创建弹出窗口的页面(以javascript modalWin函数启动的另一个modalWin页面)。
当弹出窗口被取消时(使用window.close()):
这是一个问题,因为它丢弃了父页面上的所有数据。
如何确定它导致父页刷新的原因?
这对我来说很难调试,因为我不知道该在哪里设置断点来分步遍历代码来确定它在做什么。当我在onload=函数中设置一个断点时,它只报告启动javascript的页面的调用堆栈。
我是新的视觉工作室,所以请使用术语和说明,我可以看到屏幕上。
父页面调用弹出页面,如下所示:
<button id="bbb" onclick="button_onclick(this)">Button</button>javascript如下所示:
function button_onclick(element) {
modalWin("popup.aspx", 300, 300);
}当用户单击弹出页面上的“保存”按钮时,此javascript运行:
function closeit() {
window.returnValue = true;
window.close();
}我已经深入研究了代码的更改历史,以前,<button>按钮是一个图像按钮,但是调用的javascript没有改变。
发布于 2018-01-15 06:59:25
“以前这个按钮是一个图像按钮”。你似乎几乎顺便提到了这一点,但这是你的线索。带有客户端单击事件的图像不会导致回发,因为图像永远不会这样做。而<button>元素在默认情况下会导致回发,因为它的默认type是submit。您需要将其更改为button以防止其发生。
<button type="button" id="bbb" onclick="button_onclick(this)">Button</button>这是一个关键的变化,它关系到网络的整体运作方式,而不是ASP.NET。.NET框架的改变是一条红鱼。问题并不是因为您更改了框架,而是因为您更改了代码
https://stackoverflow.com/questions/48255374
复制相似问题