asp.net按钮OnClick事件未触发

时间:2013-03-22 12:04:14

标签: c# asp.net

我在asp.net按钮控件中遇到问题。

我在表单中定义了一个按钮,当我点击按钮时,onclick按钮的事件没有触发。

<asp:Button ID="btn_QuaSave" runat="server" Text="SAVE" OnClick="btn_QuaSave_Click" /> 

protected void btn_QuaSave_Click(object sender, EventArgs e)
{

}

15 个答案:

答案 0 :(得分:11)

您是否从其他页面/应用程序复制了此方法?如果是,那么它将无法工作,所以你需要删除分配给按钮的事件和事件名称然后转到设计并转到按钮甚至属性转到onClick事件双击它旁边,它将生成事件并自动分配事件名称到按钮。 这应该工作

答案 1 :(得分:11)

由于您的按钮位于control,因此可能是另一个控件的验证不允许按钮提交。 我的结果是将CausesValidation属性添加到按钮:

<asp:Button ID="btn_QuaSave" runat="server" Text="SAVE" OnClick="btn_QuaSave_Click" CausesValidation="False"/> 

答案 2 :(得分:6)

如果您在onclick事件中使用updatepanel,则可能会发生这种情况。

在页面标记中使用'EnableEventValidation =“false”',如下所示:

<%@ Page Language="C#" MasterPageFile="~/ars_home.master" AutoEventWireup="true" CodeFile="Transaction_Window.aspx.cs" Inherits="Transaction_Window" EnableEventValidation="false" %>

希望这有帮助

答案 3 :(得分:6)

我有同样的问题,我的aspnet按钮的点击没有触发。事实证明,在页面的其他部分有一些输入具有html“required”属性。

这可能听起来很奇怪,但是一旦我删除了必需的属性,按钮才能正常工作。

答案 4 :(得分:3)

在我的情况下,我在 CKEditor 控件内加上 required =“required”
删除此属性可解决此问题 的之前

<CKEditor:CKEditorControl ID="txtDescription" BasePath="/ckeditor/" runat="server" required="required"></CKEditor:CKEditorControl>

<强>后

<CKEditor:CKEditorControl ID="txtDescription" BasePath="/ckeditor/" runat="server"></CKEditor:CKEditorControl>

答案 5 :(得分:1)

尝试Clean您的解决方案,然后再试一次。

一定会奏效。因为代码中的每件事似乎都没问题。

通过此链接获取清洁解决方案&gt;

http://social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/e53aab69-75b9-434a-bde3-74ca0865c165/

答案 6 :(得分:1)

尝试在Visual Studio中进入设计模式,找到按钮并双击应设置事件的按钮。否则,在“设计更多”中选择按钮后,转到属性并尝试从那里进行设置。

答案 7 :(得分:1)

为验证程序元素添加验证组。这允许您区分要包含在验证中的不同组。将验证组添加到您的提交按钮

答案 8 :(得分:1)

在我的情况下: 确保页面中除了顶部主窗体之外不存在任何表单元素, 这导致事件未被解雇

答案 9 :(得分:1)

我遇到了类似的问题,没有答案对我有用。也许有人认为我的解决方案很有帮助。如果您不介意单击按钮提交,则仅尝试附加单击事件设置UseSubmitBehavior="false"可能是值得尝试的。

答案 10 :(得分:0)

如果单击“提交”按钮时没有发出任何错误但仍未触发点击事件,请尝试将action="YourPage.aspx"添加到表单中。

答案 11 :(得分:0)

我有同样的问题所有改变按钮和所有上述方法然后我做了一个简单的事情我在一个页面上使用两个表单和表单中的表单所以我删除了一个它工作:)

答案 12 :(得分:0)

如果asp按钮位于<a href="#"> </a>标记内,那么Click事件也不会引发。

希望它对某些人有用。

答案 13 :(得分:0)

在将LinkBut​​ton嵌套在 Repeater 中的情况下,您必须使用类似于以下内容的东西:

<asp:LinkButton ID="LinkButton1" runat="server" CommandName="MyUpdate">LinkButton</asp:LinkButton>

 protected void Repeater1_OnItemCommand(object source, RepeaterCommandEventArgs e)
 {
    if (e.CommandName.Equals("MyUpdate"))
    {
        // some code
    }
 }

答案 14 :(得分:0)

即使我有两种形式,一种用于桌面视图,另一种用于移动视图,已删除一种对我有用的表单。我知道asp.page应该只有一种形式。