我们开发了一个带有asp.net的页面,并对其进行了调试,意外地在页面按钮上发现了onclik属性的next代码
onclick="__doPostBack('ctl00$FormPlace$m_userTaskMarkAsUnreadButton',''); __doPostBack('ctl00$FormPlace$m_userTaskMarkAsUnreadButton','');WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$FormPlace$m_userTaskMarkAsUnreadButton", "", true, "", "", false, false))"这个按钮似乎做了三次回发,但当我们点击它时,只会导致回发。使用这段代码,de按钮似乎会导致三次回发!!
我们已经在Internet Explorer和Firefox上尝试过了,并且该按钮总是在回发时才会出现。浏览器是不是避免了按钮做三次回发?或者是Asp.net服务器避免了这三个回发?如果onclick属性有三个回发调用,我们不明白为什么按钮的行为是正确的。
谢谢
发布于 2010-05-20 19:17:18
如果调用的第一个JavaScript函数导致页面发送数据(不使用XMLHttpRequest),则会加载一个新页面,并停止执行JavaScript。
发布于 2010-05-20 19:18:02
第一个__doPostback将立即发布页面。其余两条语句将永远不会执行。
发布于 2010-05-20 19:18:38
__doPostBack用给定的参数填充两个隐藏字段,然后提交给服务器。javascript中后面的所有内容都是无关紧要的,因为页面将被销毁和重建。
https://stackoverflow.com/questions/2873051
复制相似问题