如何使VS窗体中的<button>不回发到服务器

时间:2018-07-31 16:27:25

标签: visual-studio bootstrap-4

我正在VS 2017中创建一个使用引导程序模式弹出的页面。当我将模态放在asp.net表单中时,模态会打开,然后立即关闭。当我将按钮放置在窗体外部时,模态效果很好。我已经尝试过使用asp.net按钮和OnclientClick,但这不起作用。我尝试了按钮中的onClick,但没有用。我试过了type =“ button”,没有用。无论如何,有没有一种方法可以阻止按钮导致提交。这是代码。

 <form runat="server">
----some code



    <div runat="server" id="btnContinue" class="row justify-content-center">
        <asp:Button ID="continue" runat="server" CssClass="btn btn-primary" text="Continue Login"/>
        <button class="btn btn-secondary ml-2" data-toggle="modal" data-target="#myModal">Request Account</button>
    </div>

</form>
        <div class="modal" id="myModal">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title">Modal Title</h5>
                   <button class="close" data-dismiss="modal">&times;</button>
                </div>
                <div class="modal-body">
                      <p>Effective 22 May 08, access to the F-15 TADS site will require an approved DD Form 2875.</p>
                 </div>
                <div class="modal-footer">
                    <button class="btn btn-secondary" data-dismiss="modal"></button>
                </div>
            </div>
        </div>
    </div>

1 个答案:

答案 0 :(得分:0)

令我惊讶的是,您仍然可以在VS2017中构建Web表单!

无论如何,如果您未在type上指定<button>属性,它将默认为type=submit。这可能就是为什么您立即看到模式打开和关闭的原因。

要触发模式,应使用带有<button>的简单type=button。它不需要在<form runat="server"></form>内:

<button type="button" class="btn btn-secondary" data-toggle="modal"
    data-target="#myModal">
    Request Account
</button>

即使按钮位于<form>内,只要它指定了type="button",它仍然应该起作用。

enter image description here