我有一个ASP.NET应用程序,其中有几个ASP.NET按钮和几个纯HTML按钮。任何时候当用户输入一个文本框时,ASP.NET按钮会尝试提交表单。取消ASP.NET中的默认提交按钮
我知道我可以更改defaultButton
,但我不希望有任何默认按钮。我只是想要它,所以当用户按下输入它什么都不做。
我试着将defaultButton
设置为空,但这似乎不起作用。如何在输入按下时防止ASP.NET按钮提交表单?
我有一个ASP.NET应用程序,其中有几个ASP.NET按钮和几个纯HTML按钮。任何时候当用户输入一个文本框时,ASP.NET按钮会尝试提交表单。取消ASP.NET中的默认提交按钮
我知道我可以更改defaultButton
,但我不希望有任何默认按钮。我只是想要它,所以当用户按下输入它什么都不做。
我试着将defaultButton
设置为空,但这似乎不起作用。如何在输入按下时防止ASP.NET按钮提交表单?
您可以设置按钮的UseSubmitBehavior =假
btnCategory.UseSubmitBehavior = false;
这是我用来解决这个问题。
<form runat="server" defaultbutton="DoNothing">
<asp:Button ID="DoNothing" runat="server" Enabled="false" style="display: none;" />
尼斯破解!我的主页上有一个asp.net图像按钮,每当在任何页面上点击输入按钮时都会一直提交。但是,这个小小的技巧解决了这个问题。 – Jagd 2011-02-02 19:48:07
我尝试了一切,但无论出于什么原因(错误)或什么,ImageButtons继续作为DefaultButtons被解雇,即使你没有设置它们。我尝试了所有上述尝试,这是唯一有效的工作。尽管我讨厌使用一个虚拟的asp:按钮它的工作完美... – emalamisura 2012-09-13 19:17:58
有点讨厌使用黑客这样的,但这是最快的解决方案,当你有imageButtons。 – 2014-09-22 16:09:29
<asp:TextBox ID="TXT_Quality" runat="server" Width="257px"
onkeypress="return key_Pressed(event, this);">
</asp:TextBox>
function key_Pressed(e, textarea)
{
var code = (e.keyCode ? e.keyCode : e.which);
if(code == 13)
{
return false;
}
return true;
}
我也有这个问题,在我的母版(退出按钮)的ImageButton的被设置为默认按钮(所以每当有人按下回车键,它会记录出来)。我解决它通过使用下面的行每一个孩子页面上Page_Load事件,这是一个有点的变通,但它的工作原理:
Form.DefaultButton = cmdSubmit.UniqueID;
希望这可以帮助其他人。
这确实会产生所需的行为:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.usesubmitbehavior.aspx – 2009-09-24 18:58:32
@RyanSmith有时很难搜索底片,就像“没有提交按钮”一样,因为消极的表达方式有多种。 – 2012-11-08 22:06:41
附加说明:ASP.Net的ImageButton没有UseSubmitBehavior属性。如果您使用其中之一,请参阅下面的“隐藏虚拟按钮”解决方案。另见:[这个问题](http://stackoverflow.com/questions/1561400/how-to-disable-submit-behaviour-of-aspimagebutton) – CodePartizan 2014-05-14 18:47:59