Javascript 放置在弹出窗口中的Web用户控件的按钮单击事件未触发-Asp.net Webforms

Javascript 放置在弹出窗口中的Web用户控件的按钮单击事件未触发-Asp.net Webforms,javascript,c#,asp.net,webforms,zurb-foundation,Javascript,C#,Asp.net,Webforms,Zurb Foundation,我有一个名为Login.ascx的用户控件,带有标记 <div class="row"> <div class="small-12 medium-6 columns"> <p>Login Here</p> <label> Email <asp:TextBox ID="txtEmail"

我有一个名为Login.ascx的用户控件,带有标记

 <div class="row">
        <div class="small-12 medium-6 columns">
            <p>Login Here</p>
            <label>
                Email
                        <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
            </label>
            <label>
                Password
                        <asp:TextBox ID="txtPassword" runat="server"></asp:TextBox>
            </label>
            <div style="width: 95%; margin: 10px auto">
                <asp:Button ID="btnLogin" CssClass="expand button" runat="server" Text="Log in" OnClick="BtnLogin_Click" />
            </div>
            <p>Not Registered Yet? <a href="../../Register.aspx">Register here &raquo</a></p>
        </div>
    </div>
我已将此用户控件放在母版页Main.master中的一个div上

 <div id="loginModel" class="reveal-modal" data-reveal aria-labelledby="modalTitle" aria-hidden="true" role="dialog">
        <uc1:Login runat="server" ID="Login" />
        <a class="close-reveal-modal" aria-label="Close">&#215;</a>
    </div>

×

这是一个基础弹出模型,当我点击一个按钮时,它会打开。 但当我输入用户名和密码,然后点击登录按钮时,它 不开火

但是,如果我在独立页面中拖动相同的用户控件
e、 g Test.aspx并运行它,按钮的单击事件就可以正常工作。

弹出组件是如何工作的?i、 Bootstrap popover组件使用隐藏的div来显示弹出内容。因此,当您在其上放置表单时,事件不会绑定到弹出内容,因为内容是从另一个位置替换的。。您试图在弹出组件上找到问题。

如果这是您放在母版页和子页(即test.aspx)上的同一个用户控件Login.ascx。您的标记表明,在母版页上,您将其设置为弹出控件

如果您看到两个用户控件部分的呈现html,页面上的用户控件部分将显示在表单标记中,但是母版页中的控件部分由于使其弹出而位于表单标记之外,这就是为什么按钮单击不会触发的原因

如何解决您的问题,此链接可能在这方面有所帮助


希望有帮助。

只需将下面的脚本粘贴到母版页中即可

<script>
     $(document).foundation('reveal', { root_element: 'form' });  
</script>

$(document).foundation('reveal',{root_元素:'form'});
这完美地解决了我的问题,因为它在表单中创建了弹出窗口的html,确保了点击被触发


这篇文章可能会帮助您动态创建弹出包装,将内容放在其中,并将内容移到表单标记之外。内容不是动态创建的,问题是由于在表单标记外部弹出内容。
<script>
     $(document).foundation('reveal', { root_element: 'form' });  
</script>