ASP.Net Postback在更改表单属性后崩溃
本文关键字:表单 属性 崩溃 Net Postback ASP | 更新日期: 2023-09-27 18:00:33
我有一个ASP.Net表单,在呈现时看起来如下(为了简洁起见,删除了许多行标记):
<form onsubmit="document.body.style.cursor='wait';showLoader();" action="mypage.aspx">
<!-- form elements and controls -->
<input type="submit" />
</form>
在mypage.aspx.cs
的Page_Load
中,我正在做:
if(Page.IsPostBack)
{
Foo();
} else {
Bar();
}
Quux();
在不使用Chrome开发工具修改HTML页面的情况下,如果我提交表单,它将执行Bar()
。但是,如果我删除了表单中的onsubmit
属性或将其替换为自己的属性,ASP.Net会认为该页面正在执行postback并执行Foo()
。
我觉得这种行为很奇怪,因为onsubmit
中的内联JS代码不会更改任何与表单提交相关的内容。它的功能只是在表单重新加载时添加一个加载GIF。这里会不会有我遗漏的东西?
不要添加submit
按钮,而是尝试添加一个常规按钮,并从中调用gif功能:
<input type="button" onclick="document.body.style.cursor='wait';showLoader();" value="Click Me" />
这不会发布任何内容,这正是您想要的。<input type='submit'>
将始终导致回发,除非您使用JavaScript取消它。
JSFiddle:http://jsfiddle.net/0gd8t7ew/