取消ASP.NET中的默认提交按钮

时间:2009-09-24 18:31:37

标签: asp.net defaultbutton

我有一个ASP.NET应用程序,其中有几个ASP.NET按钮和几个纯HTML按钮。只要有用户点击输入的文本框,ASP.NET按钮就会尝试提交表单。

我知道我可以更改defaultButton,但我不希望有任何默认按钮。我只是想要它,所以当用户按下输入时它不会做任何事情。

我尝试将defaultButton设置为空白,但这似乎不起作用。按Enter键时,如何阻止ASP.NET按钮提交表单?

4 个答案:

答案 0 :(得分:33)

您可以设置按钮的UseSubmitBehavior = false

btnCategory.UseSubmitBehavior = false;

答案 1 :(得分:23)

以下是我用来解决此问题的方法。

<form runat="server" defaultbutton="DoNothing">
        <asp:Button ID="DoNothing" runat="server" Enabled="false" style="display: none;" />

答案 2 :(得分:1)

我也遇到了这个问题,我的MasterPage上的ImageButton(Logout按钮)被设置为默认按钮(因此每当有人按Enter键时,它会将它们记录下来)。我通过在每个子页面上的Page_Load事件中使用以下行来解决它,这是一个解决方法,但它可以工作:

Form.DefaultButton = cmdSubmit.UniqueID;

希望这有助于其他人。

答案 3 :(得分:0)

<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;
 }