为啥任何 html 按钮都会导致 aspx 页面中的回发?
Posted
技术标签:
【中文标题】为啥任何 html 按钮都会导致 aspx 页面中的回发?【英文标题】:Why any html button cause postback in aspx page?为什么任何 html 按钮都会导致 aspx 页面中的回发? 【发布时间】:2013-08-02 10:22:24 【问题描述】:我在我的 SharePoint 网站上创建了 .aspx 页面并插入到页面 html 按钮中。
示例
<PublishingWebControls:editmodepanel PageDisplayMode="Display" runat="server" SuppressTag="True">
...
<button>Click Me!</button>
...
</PublishingWebControls:editmodepanel>
每次我点击“点击我!”回发发生。这不是我想要的行为,但我找到了一种不引起回发的方法。我将javascript代码添加到onclick属性<button onclick='return false;'>Click Me!</button>
我的问题是,为什么会出现回发,即使按钮不包含type="submit"
属性?
我还检查了母版页,其中包含 <form runat="server">
并包装了所有内容,也没有 action="page.aspx"
属性。
【问题讨论】:
每个浏览器对按钮标签的解释不同。您可以使用<input type="button" value="Click Me!" />
,它也不应该导致回发。
@Jmoreland91 你应该写这个作为答案。我会投赞成票。
【参考方案1】:
我知道这是一篇旧帖子。 @Dmytro 的帖子指向正确的方向,但不是确切的答案。为了防止回发,您需要使用按钮标签的 type 属性。即
<button type="button">Click Me!</button>
【讨论】:
【参考方案2】:查看此链接,http://www.w3schools.com/tags/tag_button.asp 页面上有一个注释,上面写着,不同的浏览器可以使用不同的默认按钮类型,如果你不自己指定的话。好像您的浏览器使用“提交”。
【讨论】:
我已经调试我的应用程序几个小时了,这神奇地解决了所有问题!你救了我的朋友!以上是关于为啥任何 html 按钮都会导致 aspx 页面中的回发?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Paypal 购买按钮添加到 aspx 页面中的项目?