【问题标题】:Possible to disable postback in a DOM element?可以在 DOM 元素中禁用回发吗?
【发布时间】:2017-04-10 17:41:57
【问题描述】:
我在我的 ASP.NET WebForms 应用程序的页面中搜索以禁用回发。这个 aspc 页面将是 100% javascript(使用 vue.js)并且不包含 ASP.NET 控件。
如果我在其上放置一个 HTML 按钮,我必须不要忘记在 onClick 事件中添加一个“return false”。我的目标是不必考虑这个。
是否可以在这个特殊页面上禁用回发?
【问题讨论】:
标签:
javascript
asp.net
webforms
postback
【解决方案1】:
我认为您无法阻止页面回发。但是您可以一次在您的身体上使用 javascript 而不是所有按钮:
<body onsubmit="return false;">
【解决方案2】:
可以为所有元素的点击事件添加覆盖。由于这些事件“堆叠”,因此应该在任何其他点击绑定事件之前添加。
<script type="text/javascript">
$(function () {
$('*').on('click', function(event) { event.preventDefault(); });
});
</script>
这也将捕获“动态”添加的任何元素。我还没有调查过这种方法的潜在副作用。但它确实阻止表单通过带有回发的按钮/链接点击提交。
【解决方案3】:
只使用 html 纯 html 控件,避免使用 webcontrols 或任何带有 runat="server" 的 html 控件