首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原因页重订

原因页重订
EN

Stack Overflow用户
提问于 2018-01-14 23:56:36
回答 1查看 37关注 0票数 0

我正在将一个应用程序从ASP.NET 2移植到ASP.NET 4.5

我有一个创建弹出窗口的页面(以javascript modalWin函数启动的另一个modalWin页面)。

当弹出窗口被取消时(使用window.close()):

  • 在4.5下,主页面刷新
  • 在2.0下,它不刷新。

这是一个问题,因为它丢弃了父页面上的所有数据。

如何确定它导致父页刷新的原因?

这对我来说很难调试,因为我不知道该在哪里设置断点来分步遍历代码来确定它在做什么。当我在onload=函数中设置一个断点时,它只报告启动javascript的页面的调用堆栈。

我是新的视觉工作室,所以请使用术语和说明,我可以看到屏幕上。

父页面调用弹出页面,如下所示:

代码语言:javascript
复制
<button id="bbb" onclick="button_onclick(this)">Button</button>

javascript如下所示:

代码语言:javascript
复制
function button_onclick(element) {
    modalWin("popup.aspx", 300, 300);
}

当用户单击弹出页面上的“保存”按钮时,此javascript运行:

代码语言:javascript
复制
function closeit() {
    window.returnValue = true;
    window.close();
}

我已经深入研究了代码的更改历史,以前,<button>按钮是一个图像按钮,但是调用的javascript没有改变。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-15 06:59:25

“以前这个按钮是一个图像按钮”。你似乎几乎顺便提到了这一点,但这是你的线索。带有客户端单击事件的图像不会导致回发,因为图像永远不会这样做。而<button>元素在默认情况下会导致回发,因为它的默认typesubmit。您需要将其更改为button以防止其发生。

代码语言:javascript
复制
<button type="button" id="bbb" onclick="button_onclick(this)">Button</button>

这是一个关键的变化,它关系到网络的整体运作方式,而不是ASP.NET。.NET框架的改变是一条红鱼。问题并不是因为您更改了框架,而是因为您更改了代码

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48255374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档