我正在使用bootstrap崩溃。我已经设置了3个不同的面板,每个面板都有添加按钮。当我点击添加按钮(面板2)时,页面会刷新,并且它不会保持其状态,因此它会显示面板1.
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapse1" id="col1">Stock Detail</a>
</h4>
</div>
<div id="collapse1" class="panel-collapse collapse in">
<div class="panel-body">
<table class="table">
<tr>
<td>Stock Name</td>
<td>
<asp:TextBox ID="tbstockname" runat="server" CssClass="form-control"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" ValidationGroup="gp2" runat="server" ControlToValidate="tbstockname" ErrorMessage="Stock Name Required"></asp:RequiredFieldValidator>
</td>
<td>Client Name</td>
<td>
<asp:DropDownList ID="ddclientname" runat="server" CssClass="form-control">
</asp:DropDownList>
</td>
<td>
<asp:Button ID="btnaddstock" runat="server" ValidationGroup="gp2" Class="btn btn-primary" Text="ADD" OnClick="btnaddstock_Click" />
</td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<asp:GridView ID="gvstockdetail" class="table" runat="server" Width="500px">
</asp:GridView>
</div>
</div>
</div>
答案 0 :(得分:1)
您的问题是您正在使用服务器控件。有了它,将始终有一个回到服务器的帖子。
虽然有些人幸运OnClientClick="return false;"
为了防止这种刷新发生,您需要使用html元素,而不是服务器元素,并使用ajax调用您的函数。类似的东西:
<input type="button" onclick="doAction()" />
然后对服务器操作进行一些ajax调用:
var doAction = function() {
//ajax call to your server
};
有关ajax调用的更多信息,请参阅文档: