我会更好地解释我的问题,并且我会进行大量编辑以澄清:
标记
<asp:ScriptManager runat="server" />
<div id="myModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title" >
</h4>
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
<asp:Button runat="server" Text="Chiudi" class="btn btn-danger" data-dismiss="modal" />
<asp:Button runat="server" ID="btn_Save" Text="Salva" class="btn btn-success" ValidationGroup="valGroup2" />
</div>
</div>
</div>
</div>
<asp:Button ID="Button1" runat="server" Text="Button" data-target="#myModal" class="btn btn-primary" data-toggle="modal"/>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false" >
<ContentTemplate>
<asp:GridView ID="grd_elenco" runat="server" CssClass="table table-bordered table-hover" data-toggle="modal">
</asp:GridView>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</ContentTemplate>
<Triggers>
</Triggers>
</asp:UpdatePanel>
VB.NET:
Private Sub btn_Save_Click(sender As Object, e As EventArgs) Handles btn_Save.Click
Label1.Text = "test"
UpdateSomeDataInGrid()
UpdatePanel1.Update()
End Sub
我将仅使用部分回发而不是完整回发的 btn_Save
更新 UpdatePanel
。我需要之后 UpdateSomeDataInGrid()
更新面板,有人知道该怎么做吗?
我尝试添加 UpdatePanel1.Update()
,但所有页面都是回发的。
最佳答案
原因是btnSave不在UpdatePanel内部。就目前情况而言,这意味着它总是会导致整页回发。
要使用 UpdatePanel 实现部分页面回发,请将回发控件放置在 UpdatePanel 内。
因此您需要将 btnSave 移至 UpdatePanel 内:
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
<ContentTemplate>
<asp:Button runat="server" ID="btn_Save" Text="Salva" class="btn btn-success" ValidationGroup="valGroup2" />
.
.
.
或者,如果它更适合您的设计,请将包含 btnSave 的整个 div 移动到 UpdatePanel 内:
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
<ContentTemplate>
<div id="myModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
.
.
.
或者将 btnSave 放在它自己的 UpdatePanel 中。这将避免整个页面回发,同时您的处理程序仍然可以更新 UpdatePanel1。
关于javascript - 按钮单击事件后更新 UpdatePanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34577659/