OnClick事件未触发按钮单击ASP.NET

时间:2020-01-14 16:27:14

标签: c# asp.net onclick event-handling

我在JavaScript对话框窗口中有一个asp:Button。如下面的代码所示,它具有一个名为DialogWindowButton_Click的OnClick事件。该事件没有触发,我已经在C#文件中放置了断点,甚至没有进入函数。我不知道为什么,并查看了其他论坛帖子以尝试解决这个问题。我有1)删除了按钮,然后重新创建了按钮和OnClick事件本身(这是行不通的),以及2)将CausesValidation =“ False”添加到了asp:Button标记中。两种方法均无效。我所拥有的如下所示:

<div style="margin:auto; width:100px; padding-bottom:15px;">
    <asp:Button ID="DialogWindowButton" runat="server" Text="Save Entry" 
    OnClick="DialogWindowButton_Click" CausesValidation="False"/>
</div>

然后在C#文件中,我有:

    ...
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void DialogWindowButton_Click(object sender, EventArgs e)
    {
        DialogWindowButton_ClickHelper();
        ...
    }

    protected AddressBookEntry DialogWindowButton_ClickHelper()
    {
        ...
    }
    ...

对于CodeBehind标签和Inherits标签,我都有正确的文件。在C#文件中,您可以看到原始的OnClick事件调用了直接在其下方定义的帮助器函数,但是没有达到DialogWindowButton_Click()顶部的断点。也没有构建错误。可能还有其他我想念的东西吗?谢谢!

1 个答案:

答案 0 :(得分:1)

您需要将UseSubmitBehavior设置为false(默认为true):

 <asp:Button ID="DialogWindowButton" runat="server" Text="Save Entry" 
    UseSubmitBehavior="False" OnClick="DialogWindowButton_Click" CausesValidation="False" />

来自Reference

使用UseSubmitBehavior属性指定按钮控件是否 使用客户端浏览器的提交机制或ASP.NET回发 机制。默认情况下,此属性的值为true,导致 按钮控件使用浏览器的提交机制。如果指定 false,ASP.NET页面框架会将客户端脚本添加到页面 将表单发布到服务器。