繁体   English   中英

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

[英]OnClick Event Not Firing on Button Click ASP.NET

我有一个位于 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() 顶部的断点。 也没有构建错误。 难道还有什么我想念的吗? 谢谢!

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

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

参考

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM