首页 > 解决方案 > 当 RequiredFieldValidator 存在于 Bootstrap 模式中时,单击事件上的 Asp 按钮不会触发

问题描述

我在 Asp.net 页面中有一个 Bootstrap 模式。模式在页面上有一个RequiredFieldValidator。我正在尝试使用链接按钮或 ASP 按钮 onclick 事件打开模式:

该事件永远不会触发。如果我删除了RequiredFieldValidator,则事件会触发并且模式会正常打开。页面上没有其他具有相同 ID 的控件。如果我使用常规的 ASP Button 控件,我会遇到同样的问题。但是,如果我使用带有 OnCheckedChanged 事件的 ASP CheckBox 控件,它就可以正常工作。

我的模态:

<div class="modal fade" id="testModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="testModalTitle"><i class="fas fa-user-edit"></i>Test Modal</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                <div class="panel panel-primary">
                    <div class="panel-body">                                               
                        <div class="form-group col-lg-12">
                            <textarea id="Textarea1" name="txtTextArea" rows="4" style="width: 350px;" runat="server"></textarea>
                            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="RequiredFieldValidator" ControlToValidate="Textarea1"></asp:RequiredFieldValidator>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<textarea id="txtTextArea" name="txtTextArea" rows="4" runat="server"></textarea>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Required Field." ControlToValidate="txtTextArea" ForeColor="Red"></asp:RequiredFieldValidator>

我尝试删除并添加一个新的 Button 控件,但没有奏效。

按钮点击事件:

<asp:Button ID="btnTest" runat="server" Text="Button" OnClick="btnTest_Click" />

    protected void btnTest_Click(object sender, EventArgs e)
    {
        //This never fires.
    }

打开模式按钮工作正常,但它不是一个 ASP 按钮。在执行将单击模式按钮的脚本之前,我需要单击页面上将执行其他操作的 ASP 按钮。问题是任何 ASP 按钮单击事件都不会在页面上触发。

<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#testModal" id="btnShowTestModal" style="visibility: visible">Test</button>

标签: c#asp.netbootstrap-modalrequiredfieldvalidator

解决方案


推荐阅读