ASP.NET按钮在Bootstrap模态框中无法触发点击事件

5

我在我的网站上使用Bootstrap。当单击注册按钮时,会弹出一个注册模式窗口。它有一些字段、一个注册按钮和一个关闭按钮。他们的代码是:

<div id="myModalRegister" runat="server" class="modal hide fade" tabindex="-1"
 role="dialog" aria-labelledby="myModalLabel"
    aria-hidden="true">
    <div class="modal-header">
     <button type="button" class="close" data-dismiss="modal" aria-hidden="true">
            ×</button>
        <h3 id="H1">
            Register</h3>
    </div>
    <div class="modal-body">

    <i class="icon-user"></i>Email ID</label>
        <input type="text" class="span3" id="txtRegEmail" runat="server" />
        <br />
    </div>

    <div class="modal-footer">
        <button class="btn btn-danger" data-dismiss="modal" aria-hidden="true">
            Close</button>
        <asp:Button ID="btRegister" runat="server" CssClass="btn btn-primary" 
            Text="Register" onclick="btRegister_Click" />
    </div>
</div>

注册按钮是:
<li class="one"><a href="#myModalRegister" role="button" data-toggle="modal" >
       <i class="icon-user icon-white"></i> Sign Up</a></li>

当我点击“btRegister”按钮时,单击事件没有触发。你能帮我吗?
经过一些研究,我发现模态窗口是在Form标签外渲染的,这就是为什么事件无法触发的原因。我该怎么解决?

2
唯一解决方法是将按钮放在表单内。同时,将文本框也放在表单内,这样你的后端代码就可以看到其中的数据。 - Andrew
你可以使用jQuery来捕获按钮点击事件,然后从JavaScript中调用PostBack的点击事件。以下是如何实现的StackOverflow参考链接: https://dev59.com/x1_Va4cB1Zd3GeqPPQYL - Yogesh
2个回答

0

今天我也遇到了相同的问题,发现我的按钮ID与表单内的另一个按钮相同,请尝试检查您是否有另一个具有相同ID的按钮,然后它将像老板一样工作!


0

我认为你有两个选择:

  1. 将按钮放在 <form> 标签内(你不需要将模态框放在表单标签外)
  2. 使用启用 JavaScript 的按钮而不是服务器端控件

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接