javascript - 按钮单击事件后更新 UpdatePanel

标签 javascript c# asp.net vb.net

我会更好地解释我的问题,并且我会进行大量编辑以澄清:

标记

<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">&times;</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/

相关文章:

c# - ASP.NET 站点在无法将 DBNull.Value 转换为类型 'System.Guid' 时崩溃

javascript - 使用元素的值在 html 标记中获取除法

c# - ASP.NET 身份 OWIN 中间件 Google OAuth2 AuthenticationManager 登录不工作

c# - 如何使用 DirectShow NET 捕获音频和视频?

c# - 加载与引用 .NET DLL 位于同一文件夹中的引用 .NET DLL 时出现 "Not found"异常

javascript - 上传后从客户端 PC 删除文件,但仅在获得客户端许可后

asp.net - 获取在触发器 SQL Server 2008 中插入或更新的当前成员资格用户

javascript - Console.log() 影响表达式结果?

javascript - 获取函数原型(prototype)的源代码

javascript - 如何在 vue.js 中获取 refs 数组?